当前位置: 代码迷 >> 综合 >> 【Live555】Live555 Windows下使用VS2017编译教程
  详细解决方案

【Live555】Live555 Windows下使用VS2017编译教程

热度:41   发布时间:2023-12-11 15:33:11.0

附上VS2019编译成功的最新资源包!https://download.csdn.net/download/qq_38131812/11139180

1 在http://www.live555.com/liveMedia/public/下载最新的代码

2 解压 随便放个地方

3 打开vs2017 专业版,文件-新建-项目

其他项目类型-visual studio 解决方案-空白解决方案

名称,位置随便,自己记得就行

4 在解决方案上右键 添加 新建项目

5 看一下刚才下载并解压的live555,里面有五个文件夹是需要的

6 所以,新建项目的名称为BasicUsageEnvironment,注意选从是c++,空项目。

7 右键BasicUsageEnvironment,选择在文件资源管理器中打开文件夹,然后把刚才下载下来的文件夹BasicUsageEnvironment中的include文件夹以及后缀为.c,.cpp,.h,.hh的文件全部复制过来,下图中划线的全部都要复制

8 添加头文件,在头文件上右击,添加,现有项,然后选择include文件夹中的全部文件。

9 添加源文件,在源文件上右击,添加 现有项,然后选择刚才复制过去的除了include文件夹中的其他文件(包括.c,.cpp,.h,.hh四种文件),添加完之后如图:

注意:include中的文件全部添加到头文件中,include外的.c,.cpp,.h,.hh四种文件全部添加到源文件中。

10 在BasicUsageEnvironment项目上右击 属性,常规 配置类型,选择静态库(最终生成的是.lib)

预编译头 不使用预编译头。

11 到此,BasicUsageEnvironment全部完成

12 同理完成groupsock,liveMedia,UsageEnvironment。完成之后如下图:

13 右键解决方案,添加 新建项目 mediaServer,此处依然选择c++的空项目,但这个项目的属性 常规 配置类型 选择应用程序(默认就是应用程序 不用改)

14 然后将对应的.cpp,.hh四种文件复制过来,这个项目我下载下来的源文件夹中没有include文件夹。按上面一样在源文件上右击,添加 现有项

15在BasicUsageEnvironment项目上右键 属性 常规 附加包含目录,输入:..\BasicUsageEnvironment\include;..\groupsock\include;..\liveMedia\include;..\UsageEnvironment\include

16 其他四个项目同理

15开始编译

16 mediaServer这个项目最后编译,先编译其他四个

在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 e:\live555\live555\basicusageenvironment\basicusageenvironment0.cpp 79

解决方法:属性 预处理器 添加_CRT_SECURE_NO_WARNINGS; 它报什么错就加什么

17 除了mediaServer以外的其他三个项目都这样编译,编译成功后,在live555的文件夹下会生成四个对应的lib文件,此时在mediaServer下新建lib文件夹,将四个lib文件放进去

18 右击mediaServer项目 属性 连接器 常规 附加库目录 输入lib

19 连接器 输入 附加依赖项 点编辑 输入BasicUsageEnvironment.lib;groupsock.lib;liveMedia.lib;UsageEnvironment.lib;Ws2_32.lib

20 编译mediaServer,右键该项目 点生成。生成成功之后,在live555的debug目录下出现mediaServer.exe,这个就是最终的结果,我们需要的东西。

21 附上我生成过程中报的错及解决方式:

严重性 代码 说明 项目 文件 行 禁止显示状态

错误 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 e:\live555\live555\basicusageenvironment\basicusageenvironment0.cpp 79

解决方式:预处理中添加_CRT_SECURE_NO_WARNINGS;

严重性 代码 说明 项目 文件 行 禁止显示状态

错误 C4996 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings groupsock e:\live555\live555\groupsock\netaddress.cpp 108

解决方式:预处理中添加_WINSOCK_DEPRECATED_NO_WARNINGS;

参考:https://blog.csdn.net/qq_29350001/article/details/77962082

更多文章请关注求密勒实验室公众号
在这里插入图片描述

  相关解决方案