Windows7上用VS编译本地使用的live555
环境
系统: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
Windows7上用VS编译本地使用的live555的更多相关文章
- makefile实验四 编译本地的源文件 + 变量的高级主题一
<一>编译本地的源文件 + 变量的模式替换 实验代码 root@ubuntu:~/Makefile_Test/5make_test# vim makefile target := t ...
- 在 Windows7 上按照 MySQL5.7
在 Windows7 上按照 MySQL5.7 1.从官网下载最新版本的 MySQL,这里下载的是 mysql-5.7.17-win32: 2.将下载的 mysql-5.7.17-win32.zip ...
- 用java 代码下载Samba服务器上的文件到本地目录以及上传本地文件到Samba服务器
引入: 在我们昨天架设好了Samba服务器上并且创建了一个 Samba 账户后,我们就迫不及待的想用JAVA去操作Samba服务器了,我们找到了一个框架叫 jcifs,可以高效的完成我们工作. 实践: ...
- 如何在其他电脑上运行VS2005编译的DEBUG版应用程序
做项目的过程中,遇到这样的问题:在自己的电脑上用VS2005编译好的DEBUG版程序在其它的没有安装VS2005的电脑上没有办法运行,郁闷至极啊. 直 接拷贝文件后,错误信息如下:"This ...
- 如何在windows7上安装启明星系统。
启明星系统提供多种安装方式.安装包里自带了setup.exe.每个程序的 install下有在线安装(例如请假应用程序为book,则默认为 http://localhost/book/install ...
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境(转)
原文地址:http://blog.csdn.net/shangyuan21/article/details/18153605 我们都知道开发iPhone等ios平台的移动应用时需要使用Mac本,但是M ...
- memcached在windows7上的安装问题
memcached在windows7上的安装问题 错误: 通过cmd命令行进入到C:\memcached(下载后的解压目录) 运行 memcached.exe -d install 报错“ f ...
- 32位Windows7上8G内存使用感受+xp 32位下使用8G内存 (转)
32位Windows7上8G内存使用感受+xp 32位下使用8G内存 博客分类: Windows XPWindowsIE企业应用软件测试 我推荐做开发的朋友:赶快加入8G的行列吧....呵呵..超爽 ...
- 让32位Eclipse和64位Eclipse同时在64的Windows7上运行
转自让32位Eclipse和64位Eclipse同时在64的Windows7上运行 参考这篇文章:http://wenku.baidu.com/view/57994c270066f5335a81214 ...
随机推荐
- (简单的物理题)Bungee Jumping
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1155 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- MFC DestroyWindow[转]
考虑单窗口情况: 假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create.则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow(): 2. De ...
- 团体程序设计天梯赛L1-020 帅到没朋友 2017-03-22 17:46 72人阅读 评论(0) 收藏
L1-020. 帅到没朋友 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为 ...
- handsontable-developer guide-cell editor
单元格编辑 cell editor renderer:展示数据:editor:改变数据:renderer用一个函数表示:后者有一系列的操作,需要用class来表示: EditorManager han ...
- EBS SOA 修改Web Service参数
l 需求描述 当把PL/SQL声明Load到ISG,生成WSDL并部署完毕后,需要修改PL/SQL的包头声明部分.例如修改某个过程的参数类型,再重新Load,重新生成WSDL,重新部署.我们会发现PL ...
- archlinux 64bit 开发android
arch 64位下直接运行android emulator会出现错误:“Failed to start emulator: Cannot run program "xxxx/sdk/tool ...
- WebApi Post string 参数 为空
用webApi做开发也有很久了 一些 细节平时可能未必很留心 今天就很奇葩 post 只接受一个string 参数的数据 但接收是一直未空 很奇怪 看了一些资料后得出以下结论
- winform textbox控件keydown、keypress、keyup简单介绍
1.执行先后顺序: keydown-->keypress-->keyup 2.按键相关操作: 1)keydown和keyup参数类型KeyEventArgs(提供了KeyCode)实现形式 ...
- Android 音频系统得框架
http://www.mamicode.com/info-detail-1790053.html http://blog.csdn.net/lushengchu_luis/article/detail ...
- 【OCP新题库】052最新题库解析-第5题
5.Which two affect the time taken for instance recovery? A) size of redo logs B) size of UNDO tables ...