为了搞这个,自己走了很多弯路,就不想让同行再走一次。
不多说,上步骤:
1.环境准备
系统环境:
win7x64 sp1 英文版,我这样做是为了不设置local为英文国家。更新,最好把能打的补丁都打上。
当然win7以上的系统都行,但是必须是x64系统。
win10 sdk VS2015环境
上网环境:
使用vpn翻墙
2.安装vs2015 update2,文档上是这么说的,当前只支持这个。
安装vs2015时出现的问题。好多错误为补丁安装错误,一般都是说hash值对不上,一般都是由于sp运营商自己缓存所致,所以大多需要自己下载补丁包然后手动安装。
我这里出现了两个问题:win10sdk问题和补丁kb3151378问题。
win10sdk hash值不正确问题解决办法:
- 安装vs2015企业版但不安装vs2015自带的win10SDK和模拟器(安装vs2015选择自定义安装,将win10的SDK 和模拟 安装的选项去掉。)
- 下载win10SDK的的在线安装sdksetup.exe执行程序。下载并且安装。
- 将C:\ProgramFiles (x86)\Windows Kits 文件夹下的内容拷贝到(在线sdk安装的文件夹)C:\ProgramFiles (x86)\Microsoft SDKs\Windows Kits\ (vs自带的文件夹)
- 再次安装vs2015企业版,将vs2015自带的win10SDK和模拟器选择进行安装
- 再次修复安装vs2015
自己下载kb3151378补丁包,直接运行。
3.下载配置depot_tools
我在网上是直接下载的zip包,位置在这个网页http://dev.chromium.org/developers/how-tos/install-depot-tools。
下载地址为https://storage.googleapis.com/chrome-infra/depot_tools.zip
下载后解压缩到某个盘的根目录,要保证这个盘符下面有最少15G以上的空闲硬盘空间。
4.设置环境变量
增加depot_toos文件夹到PATH变量
增加DEPOT_TOOLS_WIN_TOOLCHAIN全局变量,并且设置其值为0
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
, or set that variable in your global environment.
5.运行命令,用于配置环境和下载代码
在根目录创建一个英文文件夹(例如webrtc-checkout),然后启动命令行cmd,运行下面的命令
mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
gclient sync
fetch --nohooks webrtc 这个命令会自动下载python276、git1.9.5、svn等工具
gclient sync 下载代码
6.用ninja编译
ninja -C out\Debug chrome
7.编译后的结果输出
D:\webrtc\src\out\Debug\obj\webrtc\webrtc.lib
参考:
https://webrtc.org/native-code/development/
https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md
https://social.microsoft.com/Forums/zh-CN/d803b99e-91f1-4e05-8c40-c18a77af4611/vs2015-?forum=vstudiozhchs