栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

live555 windows通过命令行编译

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

live555 windows通过命令行编译

记录live555在windows下的编译过程

准备工作:vs2017 live555源码

参考了网上很多的案例,绝大部分是用vs2017去新建工程,然后手动添加4个库和可执行文件的工程。但我觉得这样太麻烦,因为live555的源码目录下是有windows下的项目构建相关文件的,理应可以通过命令行来快速编译。好在,找到了可行的参考方案。

编译方法,参考VS2017下Live555的编译 - kaixin開訫 - 博客园

这里就不贴原博了。1.准备工作,2.环境配置,3.编译,这三步简单快速,照着做就行了。

注意第三步,是复制这一整段一次性粘贴到控制台执行,不是一次复制一行执行。

还可以省事一点,将这一段保存为批处理文件放在live目录下,然后双击执行编译。

比如保存为compeli.bat:

call "C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7Toolsvsdevcmd" -arch=x64

cd live

call genWindowsMakefiles

cd liveMedia
del *.obj *.lib
nmake /B -f liveMedia.mak
cd ..groupsock
del *.obj *.lib
nmake /B -f groupsock.mak
cd ..UsageEnvironment
del *.obj *.lib
nmake /B -f UsageEnvironment.mak
cd ..BasicUsageEnvironment
del *.obj *.lib
nmake /B -f BasicUsageEnvironment.mak
cd ..testProgs
del *.obj *.lib
nmake /B -f testProgs.mak
cd ..mediaServer
del *.obj *.lib
nmake /B -f mediaServer.mak
cd ..hlsProxy
del *.obj *.lib
nmake /B -f hlsProxy.mak
cd ..proxyServer
del *.obj *.lib
nmake /B -f proxyServer.mak
cd ..

pause

等编译结束,不出意外的话,编译会报错,下面记录解决编译错误的过程:

错误一:fatal error C1083: 无法打开包括文件: “ifaddrs.h”: No such file or directory

解决方法:

在解压出来的live555目录下的win32config文件中添加NO_GETIFADDRS宏编译选项

COMPILE_OPTS选项后面加上-DNO_GETIFADDRS=1,如下:

COMPILE_OPTS =      $(INCLUDES) $(cdebug) $(cflags) $(cvarsdll) -I. -I"$(TOOLS32)include" -DNO_OPENSSL=1 -DNO_GETIFADDRS=1

错误二:无法打开包括文件: “dirent.h”: No such file or directory

解决方法:

GitHub - tronkko/dirent: C/C++ library for retrieving information on files and directories

在上面链接下载一个兼容windows下的dirent.h头文件,放到报错的文件同目录下。

注意:这个文件是为了兼容性,并没有全部移植功能。比如如下注释:

至此,编译成功。我用的1.09版本,只遇到上面的错误。

当然如果你要单步调试,还是用vs2017手动创建工程去编译调试会比较合适。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942593.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号