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 Studio\2017\Community\Common7\Tools\vsdevcmd" -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头文件,放到报错的文件同目录下。

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

/*

 * File type macros.  Note that block devices, sockets and links cannot be

 * distinguished on Windows and the macros S_ISBLK, S_ISSOCK and S_ISLNK are

 * only defined for compatibility.  These macros should always return false

 * on Windows.

 */

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值