编译过程参考了:
https://blog.csdn.net/Zurong_Lee/article/details/102222185
https://blog.jianchihu.net/webrtc-build-vs2017.html
一、准备
1. 操作系统
windows10专业版18363.418
2. vs版本
Microsoft Visual Stduio Professional 2017
版本15.9.18
安装时使用默认路径,否则会有异常,安装完成后路径为:C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional
安装选项:
WIN10 SDK还需要安装Debugging Tools,安装步骤为 控制面板 → 程序 → 程序和功能 → 选中“Windows Software Development Kit” → 变更 → Change → 勾选 “Debugging Tools For Windows” → Change。如下:
3. python
python-2.7.9
下载链接:https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi
4. Microsoft DirectX SDK (June 2010)
下载地址:http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe
这一步,大概率都会出错,出错原因参考下面链接。强烈建议安装前先看下下面的链接,先把该卸载的高版本卸载掉再安装,省去不必要的麻烦。
参考:安装DirectX SDK时出现Error Code:s1023 的解决方案
5. depot_tools
https://chromium.googlesource.com/chromium/tools/depot_tools.git
6. 环境变量
7. 代理设置
使用* for windows代理工具,在cmd中执行
set http_proxy=socks5://127.0.0.1:7891
set https_proxy=socks5://127.0.0.1:7891
如果没有代理,可以按如下步骤绑定hosts:
1. 首先确认使用的域名,经过测试,用到了下面这些
commondatastorage.googleapis.com
storage.googleapis.com
chromium.googlesource.com
chrome-infra-packages.appspot.com
webrtc.googlesource.com
boringssl.googlesource.com
打开站长之家ping工具,输入域名
所有节点探测完之后,点复制,取到所有的ip,全部ping一遍,选出可以通的效果最好的ip,打开C:\Windows\System32\drivers\etc\hosts,绑定hosts,如图:
二、获取源码
mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
gclient sync
在过程中,可能会卡在running hooks:clang_format_win和running hooks:rc_win
处理方法如下:
打开src\buildtools\win\clang-format.exe.sha1,拷贝里面的内容,如:b5f5d8d5f8a8fcd2edb5b6cae37c0dc3e129c945,拼接成如下url:
https://storage.googleapis.com/chromium-clang-format/b5f5d8d5f8a8fcd2edb5b6cae37c0dc3e129c945
到浏览器中下载,完成后拷贝到src\buildtools\win\,改名为clang-format.exe
打开src\build\toolchain\win\rc\win\rc.exe.sha1,拷贝里面的内容,如:ba51d69039ffb88310b72b6568efa9f0de148f8f,拼接成如下url:
https://storage.googleapis.com/chromium-browser-clang/rc/ba51d69039ffb88310b72b6568efa9f0de148f8f
到浏览器中下载,完成后拷贝到src\build\toolchain\win\rc\win,改名为rc.exe
再执行gclient sync即可。
如果遇到如下错误:
Failed to fetch file gs://chromium-gn/a68b194afb05d6a6357cf2e2464136ed7723c305 for src/buildtools/win/gn.
...
Error: Command 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-gn -s src/buildtools/mac/gn.sha1' returned non-zero exit status ...
则把gs://chromium-gn/a68b194afb05d6a6357cf2e2464136ed7723c305改为
https://storage.googleapis.com/chromium-gn/a68b194afb05d6a6357cf2e2464136ed7723c305
到浏览器中下载,拷贝到src\buildtools\win\,改名为gn.exe,再执行gclient sync。
其他错误没有遇到,如果遇到再查其他解决方法。
三、编译
cd webrtc-checkout\src
gn gen out/Default --ide=vs2017
ninja -C out/Default
逆天90后 发布了4 篇原创文章 · 获赞 0 · 访问量 3720 私信 关注