bill愚钝,几经折腾才编译成功,故写下博文记之,以节约后来者的时间。

   其实整个过程按照GOOGLE WEBRTC官网的步骤一步一步无遗漏地做便可。只是最后可能遇到一些编译时错误以及VS2010上的配置问题,而google并未在doc中提及,bill将在稍后详述一些需要注意的问题。

   以下是GOOGLE WEBRTC的GETTING STARTED链接,大家可以照着google原文进行源码的下载和编译,并请在执行过程中阅读Bill下面提到的注意事项,以免做些不必要的工作。

开始前的准备工作

GETTING STARTED

   下面Bill就按照上述两个链接中的执行顺序列写一些需要注意的地方。

   ①根据开始前的准备工作,我们首先需要下载depot_tools(bill选择了下载depot_tools而不是使用Cygwin),此链接需要×××,但某些×××软件可能已经乏力。故Bill给出两个法子,其一,这个在线代理网站可以下载文件,其二,bill已将该文件上传至下载中心,大家可自行下载使用。

   ②开始前的准备工作中提到在windows下编译webrtc还需要git和python,于是bill当时手动下载安装git和python,后来才知道,在首次执行gclient命令时会自动下载对应git和python 2.6,故大家可不不必花时间手动下载git和python>。

   ③开始前的准备工作中提到需要安装Microsoft SDK 7.1,而该SDK的默认安装选项可能导致安装失败,bill只遇到两种失败,一者,若系统中任一Microsoft Virsual C++ 2010 x86/x64 Redistributable版本高于10.0.30319,请卸载。一者,安装过程中因莫名错误而结束。请重新安装,并在安装选项中将“VC++ Compiler”去掉,待SDK安装完毕后,手动安装KB2519277

   ④开始前的准备工作中提到对于Microsoft SDK 7.1以及Microsoft DiretX SDK需要在VS2010的VC++目录中进行配置。但VS2010的VC++目录已经不在google提到的地方,具体配置地点见下图:

【VS2010的VC++目录已经不能在此编辑】

【应当在 视图→属性管理器 中进行配置】

双击解决方案中任意项目,打开该项目属性页,打开左侧“配置属性”,修改右边常规中的包含目录和库目录后保存即可。本修改将被解决方案中所有项目继承。

   ⑤一定要安装VS2010 SP1升级包,否则会在编译时遇到错误。

   ⑥一切准备就绪后就可以使用VS2010打开peerconnection_all.sln项目进行编译,在编译后可能出现如下错误:

--fatal error LNK1104: 无法打开文件“...:\webrtc_src\trunk\build\Debug\lib\libjpeg.lib”

--Could not open `...:/webrtc_src/trunk/build/Debug/obj/global_intermediate/third_party/yasm/x86insn_nasm.gperf' for reading

   解决办法请参照google group。原文如下

quote:Update: looks like x86insn_gas.gperf and x86insn_nasm.gperf are in my 'trunk/third_party/yasm/source/patched-yasm' dir but the yasm build expects them to be in 'trunk/build/[Debug/Release]/obj/global_intermediate/third_party/yasm' dir.Putting them there manually yields a successful yasm and libvpx build now :)

----------------------------------------------------------------

   最后,bill感谢网上各位前辈的博文,他们的文章给了我很多指导。

【参考博文】

http://blog.csdn.net/temotemo/article/details/7056581

http://white313.blog.163.com/blog/static/2102620116314827580/

http://blog.csdn.net/dotphoenix/article/details/7784218