WebRTC在Windows下的编译过程及常见问题处理

 WebRTC在Windows下的编译过程及常见问题处理


WebRTC
下载完成后,在源码 src 目录下有一个 all.sln VS 解决方案文件,打开它后可以看到有二百多个项目。 这时选择 Debug 版本编译整个解决方案,通常整个解决方案不可能一次性编译通过,而且每台机器的环境,和 WebRTC 的源码版本的不同,也会造成不一样的编译错误。编译过程中常遇到的问题及解决办法罗列如下:

 

1. 安装Python,从下面的网址下载并安装,然后把python安装目录加入到系统PATH的环境变量中,修改后需要重启VS

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

 

2. 安装WDK,从微软的官网下载,并安装。在很多项目中会用到atlthunk.lib文件,新建WDK_DIR系统环境变量值为WDK的安装目录,例如C:\WinDDK\7600.16385.1\lib\ATL\i386。修改后需要重启VS

 

3. 警告被视为错误 - 没有生成“object”文件。

解决办法:改变项目的属性,把否警告被视为错误设为 “否(/WX-)”,有很多个工程需要设置

 

4. 无法找到system_wrappers_default.lib文件,到src\build\Debug\lib 目录下。

解决办法:把编译出来的system_wrappers.lib复制一份并改名为 system_wrappers_default.lib

 

5. 无法解析的外部符号 _intel_aes_encrypt_init_128,该符号在函数 _aes_InitContext 中被引用。

解决办法:把nss_static项目预处理器定义中的USE_HW_AES和INTEL_GCM去掉

 

6. error MSB3721: 命令“call python "..\..\tools\swarming_client\isolate.py" "check" "--result" "..\..\build\Debug\common_audio_unittests.isolated" "--isolate" "common_audio_unittests.isolate" "--path-variable" "DEPTH" "..\.." "--path-variable" "PRODUCT_DIR" "..\..\build\Debug\ " "--config-variable" "OS=win" "--config-variable" "chromeos=0" "--config-variable" "component=static_library" "--config-variable" "internal_gles2_conform_tests=0" "--config-variable" "icu_use_data_file_flag=1" "--config-variable" "use_openssl=0"”已退出,返回代码为 1。


解决办法:在控制面板中找到区域和语音->管理->非Unicode程序的语言->英语

 

7. error LNK2005: "class ATL::CAtlWinModule ATL::_AtlWinModule" (?_AtlWinModule@ATL@@3VCAtlWinModule@1@A) 已经在libjingle_media.lib(win32devicemanager.obj) 中定义。

解决办法:在peerconnection_client项目的链接器->命令行中加入:/FORCE:MULTIPLE

 

你可能感兴趣的:(WebRTC)