当前位置 博文首页 > 建建的博客:WebRTC学习之二:编译(Win10+VS2015)

    建建的博客:WebRTC学习之二:编译(Win10+VS2015)

    作者:[db:作者] 时间:2021-07-26 21:06

    一.准备

    1.操作系统

    Win7 64位及以上,必须是64位的。我用的Win10,64位。

    2.VS版本

    Visual Studio 2015 Update 3及以上。我用的Visual Studio 2015 Update 3

    http://download.microsoft.com/download/7/c/f/7cf151c3-b735-4e35-a1bb-9a48224f4a95/vs2015.3.ent_chs.iso

    3.Python

    编译过程中需要,我用的2.7.9版本,需添加到Path环境变量。

    https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi

    4.Microsoft DirectX SDK (June 2010)

    如果安装出错,参考:安装DirectX SDK时出现Error Code:s1023 的解决方案

    以上环境是2016年3月11号以后的WebRTC版本必须的。


    二.下载

    WebRTC需要翻墙才能下载,下载方法略,这里分享一个2016年6月22号的版本,只含源码,比较小。

    http://pan.baidu.com/s/1bpHvsZX

    我分享的这个版本已经带all.sln了,并且移除了test、unittest和demo工程。打开all.sln直接编译就行。

    如果只是需要WebRTC静态库,看到这里就可以了。


    三.编译

    毕竟test、unittest和demo工程是学习WebRTC最好的资料,如果想编译它们,得自己重新生成all.sln。

    1.VS工程文件生成

    将源码解压,我解压到了D:\webrtc20160622


    输入上图指令就能在源码目录中生成all.sln,包含所有的工程。

    注意:

    a)要用 set GYP_GENERATORS=msvs, 不要用set GYP_GENERATORS=ninja,msvs-ninja,否则会报大量的编译错误。

    b)除了我分享的版本,网上下载的各种未生成工程文件的源码也可以这个方法进行工程文件生成。

    c)在编译test、unittest和demo工程时,会遇到一些问题,如下所示。

    2.一些错误处理

    问题1:error C2220: 警告被视为错误 - 没有生成“object”文件

    原因:该文件的代码页为英文,而我们系统中的代码页为中文。

    解决方法:

    双击该错误打开对应文件,选择“文件”菜单中的“高级保存选项”菜单项,如下图所示。


    然后将编码方式选择为中文,如下图所示。


    问题2:LINK : fatal error LNK1104: 无法打开文件“D:\webrtc_test\build\Debug\lib\gtest_prod.lib”

    原因:gtest_prod这个工程没有导出类,所以其就不生成lib。

    解决方法:

    右键该工程,添加一个类,类名随便取,比如说Test123,然后将该类头文件改成如下所示。

    Test123.h

    [cpp]? view plain ?copycs