一 下载程序
1.下载depot_tool工具
https://storage.googleapis.com/chrome-infra/depot_tools.zip
2.解压depot_tool并把其路径设置为环境变量
%PATH%;C:\path\to\depot_tools
3.下载webrtc
打开命令行执行
mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
等待下载完毕,官网建议使用60以前的分支
cd src
git branch -r
git checkout branch-heads/60
同步所有的文件
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2015
set GYP_GENERATORS=ninja,msvs-ninja
(注:使用vs2017,可以加入下面指令,当然上面GYP_MSVS_VERSION也需要改为2017
GYP_MSVS_OVERRIDE_PATH = D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise)
gclient sync
gclient runhooks
二 安装依赖包
安装windows 10 sdk
三 编译
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2015
set GYP_GENERATORS=ninja,msvs-ninja
注:使用vs2017,可以加入下面指令,当然上面需要改为2017
GYP_MSVS_OVERRIDE_PATH = D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise
gn gen out/Default --ide=vs2015
//编译,使用vs编译有问题,用这个比较快
ninja -C out/Default
遇到的坑
1.不要自己安装python!!!那个tool里面自己有python的
2.执行gn gen out/Default报错,大部分可能是因为没有执行前面几个set操作。
2.使用vs编译一直报call ninja -C error。最后直接用ninja -C out/Default编译了。
3.提示cannot run ‘mt.exe’,可能是编译器错乱了,如果你用的是vs2015,打开2015的命令提示符,重新执行上面的编译操作试试
4.中途下载中断,使用gclient sync
感想
webrtc工程巨大,仅仅源码就要6G,光下载就烦死人。再加上一堆gn而不是cmake更是让人头皮发麻。不过最后也是编译通过,还是很开心的。
本文参考文章
webrtc安装官网:https://sourcey.com/building-and-installing-webrtc-on-windows/
vs2017编译:https://www.cnblogs.com/Forever-Kenlen-Ja/p/7653144.html
很全的讲解:http://blog.csdn.net/yangzhenping/article/details/51276320