Windows7上用VS编译本地使用的live555

本文链接:https://www.jianshu.com/p/6ea100865744

环境

系统:Windows7 SP1 64位

编辑器:Visual Studio Community 2017

Live555:2018-01-24

准备工作

下载源码

http://www.live555.com/liveMedia/public/

下载live555-latest.tar.gz,我的是2018-01-24版本

下载VS

https://www.visualstudio.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=15

安装VS

安装时选上“使用C+ +的桌面开发”。已经安装过VS但是没有C+ +组件的,在开始-程序和功能中找到Visual Studio Community 2017,选择修改,选上“使用C+ +的桌面开发”。

新建项目

新建live555项目,选择Windows控制台应用程序

把解压出来的live目录下的BasicUsageEnvironment、GroupSock、LiveMedia、UsageEnvironment、MediaServer目录复制到工程目录下

选文件-添加-新建项目,名称是BasicUsageEnvironment

设置项目属性为静态库

设置不使用预编译头

把c和cpp文件添加进源文件目录,h和hh文件添加进头文件目录

用同样的方法新建项目GroupSock、LiveMedia、UsageEnvironment

新建项目MediaServer,添加源文件和头文件

设置附加包含目录

添加include目录

编译运行

按F5开始调试

复制视频文件到Debug目录

打开VLC,按Ctrl+N,输入URL

开始播放

结束。

附上一些报错

生成BasicUsageEnvironment报错:

错误  C4996   ‘_snprintf‘: This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. BasicUsageEnvironment   d:\code\vs\live555\basicusageenvironment\basicusageenvironment0.cpp 78  

解:把snprintf改成_snprintf_s

参考 http://blog.csdn.net/ztf312/article/details/77183360

另一种方法:可能会出现‘_snprintf’错误,解决此错误的方法是在选择项目->属性->配置属性->C/C++->预处理器->预处理器定义,添加如下信息:_CRT_SECURE_NO_DEPRECATE

编译报错:

错误  C4996   ‘gethostbyname‘: Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings   GroupSock   d:\code\vs\live555\groupsock\netaddress.cpp 108 

解:

Project properties -> Configuration Properties -> C/C++ -> General -> SDL checks -> No

参考:

https://jingyan.baidu.com/article/1709ad8097e5904634c4f03e.html

编译报错:

错误  C1083   无法打开预编译头文件: “Debug\MediaServer.pch”: No such file or directory  MediaServer d:\code\vs\live555\mediaserver\stdafx.cpp   5   

解:

Right-click on your project in the Solution Explorer.
Click Properties at the bottom of the drop-down menu.
At the top left of the Properties Pages, select All Configurations from the drop-down menu.
Open the C/C++ tree and select Precompiled Headers
Precompiled Header: Select Use (/Yu)
Fill in the Precompiled Header File field. Standard is stdafx.h
Click Okay
If you do not have stdafx.h in your Header Files put it there. Edit it to #include all the headers you want precompiled.
Put a file named stdafx.cpp into your project. Put #include "stdafx.h" at the top of it, and nothing else.
Right-click on stdafx.cpp in Solution Explorer. Select Properties and All configurations again as in step 4 ...
... but this time select Precompiled Header Create (/Yc). This will only bind to the one file stdafx.cpp.
Put #include "stdafx.h" at the very top of all your source files.
Lucky 13. Cross your fingers and hit Build.

参考 https://stackoverflow.com/questions/6096384/how-to-fix-pch-file-missing-on-build

编译报错:

fatal error C1010: 在查找预编译头时遇到意外的文件结尾

解决方式:

一.
1) 在解决方案资源管理器中,右击相应的.cpp文件,点击“属性”
2) 在左侧配置属性中,点开“C/C++”,单击“预编译头”
3) 更改右侧第一行的“创建/使用预编译头”,把选项从“使用预编译头(/Yu)”改成“不使用预编译头”
4) 注:每一个报错的.cpp都要如此更改哦~辛苦一下呗~
二.
(不推荐)
1)在解决方案右击工程,点击属性
2)在配置属性 -> c/c++ -> 预编译头 中 将 “使用预编译头(/YU)” 改为 “不适用预编译头”
这种做法会使每次编译过程非常缓慢

参考 http://blog.sina.com.cn/s/blog_58649eb30100th2k.html

参考

http://blog.csdn.net/yzhang6_10/article/details/51170151

http://blog.csdn.net/hjl240/article/details/48159243

原文地址:https://www.cnblogs.com/obarong/p/8434286.html

时间: 2024-08-11 03:17:01

Windows7上用VS编译本地使用的live555的相关文章

LibUSB-Win32 在Windows7上使用vs2010编译过程

LibUSB-Win32是一个用于Windows操作系统(Win98SE.WinME.Win2k和WinXP.Vista.Win7等)上的通用USB设备驱动程序.该驱动程序允许使用者在不写任何一行核心驱动程序代码的情况下,可以访问Windows系统上的任意一个USB设备,具有以下特点: ?  能够与任意一个已安装的USB设备进行通信 ?  可被用作自己开发的USB设备的驱动程序 ?  支持批量和中断传输 ?  支持USB规范中定义的所有标准设备请求 ?  支持USB设备制造商的自定义请求 通过使

如何上传md的本地图片到博客园

博客园快捷发布工具 博文引用自:https://www.cnblogs.com/TimVerion/p/11379271.html 解决了上传md文件本地图片无法上传的问题 ,(太厉害了,再也不用冷冰冰的看着文字发呆了) (中间我还很傻b的去复制了博文的图片(因为直接复制到博客园没有图片),想拼凑成完整的, 却不料直接复制博文到typora中,然后在传到博客就行) 一.准备环境 安装.NET Core SDK: https://www.microsoft.com/net/learn/get-st

memcached在windows7上的安装问题

错误: 通过cmd命令行进入到C:\memcached(下载后的解压目录) 运行 memcached.exe -d install 报错" failed to install service or service already installed" 解决方法: 管理员身份安装,首先找出cmd.exe的原文件 右击以管理员身份运行,接下来就OK(win7下的用户还真麻烦). Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比

在Windows7上搭建Cocos2d-x win32开发环境

很多其它相关内容请查看本人博客:http://www.bokeyi.com/ll/category/cocos2d-x/ 建议:为了避免安全相关的问题,请以管理员权限执行全部的操作,当执行命令的时候,也要确保之前是以管理员权限打开了命令行窗体. 工具准备 搭建开发环境须要安装工具包含 Visual Studio 2013 (2012或2010也能够) python ---(本教程以python2.7.5版本号为例),下载地址:http://www.python.org/download/rele

在 Windows7 上按照 MySQL5.7

在 Windows7 上按照 MySQL5.7 1.从官网下载最新版本的 MySQL,这里下载的是 mysql-5.7.17-win32: 2.将下载的 mysql-5.7.17-win32.zip 解压到指定的文件夹下,这里的目标文件夹是 E:\develop: 3.复制 my-default.ini 文件并将新的文件命名为 my.ini: 4.根据自己的 MySQL 解压到的目录配置 my.ini 文件,这里的 my.ini 配置如下: ####################配置文件开始#

java线程 在其他对象上同步、线程本地存储ThreadLocal:thinking in java4 21.3.6

package org.rui.thread.concurrency; /** * 在其他对象上同步 * synchronized 块必须给定一个在其上进行同步的对象,并且最合理的方式是,使用其方法正在被调用的当前对象 * :synchronized(this), 在 这种方式中,如果获得了synchronized块上的锁, * 那么该对象其他的synchronized方法和临界区就不能被调用了. * 因此,如果在this上同步,临界区的效果就会直接缩小在同步的范围内. * * 有时必须在另一个

在Windows7上搭建Cocos2d-x 3.2alpha0开发环境

在windows7上搭建COCOS2D-X开发环境并不难, 但是由于框架更新过快,很多用户都有困难.我希望你们认为这个教程有用. 建议:为了避免安全相关的问题,请以管理员权限执行所有的操作,当运行命令的时候,也要确保之前是以管理员权限打开了命令行窗口. 工具准备 搭建开发环境需要安装工具包括 Visual Studio python ———(本教程以python2.7.3版本为例),下载地址:http://www.python.org/download/releases/2.7.3/. Coco

Android上通过gcc编译普通的C程序

1.编译可执行程序 1.1 通过mk脚本编译 目录结构: mk_app jni main.c Android.mk Android.mk内容十分满简单: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE:= main_exec LOCAL_SRC_FILES := main.c include $(BUILD_EXECUTABLE) 命令下,cd到jni的上一级目录,然后执行ndk-build命令: E:\GitHub

在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6564592 在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件.那么,如何才能DIY自己的内核呢?这篇文章一一道来. 一. 首选