windows10编译webrtc

编译过程参考了:

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

安装选项:

windows10编译webrtc

WIN10 SDK还需要安装Debugging Tools,安装步骤为 控制面板 → 程序 → 程序和功能 → 选中“Windows Software Development Kit” → 变更 → Change → 勾选 “Debugging Tools For Windows” → Change。如下:
windows10编译webrtc

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. 环境变量

windows10编译webrtc

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工具,输入域名

windows10编译webrtc

所有节点探测完之后,点复制,取到所有的ip,全部ping一遍,选出可以通的效果最好的ip,打开C:\Windows\System32\drivers\etc\hosts,绑定hosts,如图:

windows10编译webrtc

二、获取源码

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

 

windows10编译webrtcwindows10编译webrtc 逆天90后 发布了4 篇原创文章 · 获赞 0 · 访问量 3720 私信 关注
上一篇:手把手搭建WebRTC测试环境,实现1对1视频通话


下一篇:webrtc的线程安全处理--消息处理