Chinaunix首页 | 论坛 | 博客

CC

  • 博客访问: 49671
  • 博文数量: 4
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 242
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-30 19:06
个人简介

文章分类

全部博文(4)

文章存档

2015年(4)

我的朋友

分类: Windows平台

2015-03-28 17:05:14


WebRTC在Windows下的编译过程

最近有项目用到WebRTC的源码,由于WebRTC下载及编译有些麻烦,所以把过程记录一下,以便有需要的童鞋参考。

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


 

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

 

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_AESINTEL_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解决方案全部编译通过,以上处理办法都是在网上找到的,都是以解决问题为目的,如果各位大神有更好的解决办法,欢迎留言。

阅读(5769) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~