1.安装vs2019
安装windows sdk 10.22版本进行设置
2.安装git,设置全局代理
set http_proxy=127.0.0.1:10809
set https_proxy=127.0.0.1:10809
***有时cmd设置不触发,需要环境变量中手动添加
3.安装depot_tools
depot_tools是包含下载、编译的相关工具,需要先下载并配置它,才能继续后面的操作。
cmd到空文件夹,使用git下载
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
或者直接下载https://storage.googleapis.com/chrome-infra/depot_tools.zip
下载完后解压,并将解压好的depot_tools目录添加到path系统环境变量中
4.设置环境变量
set PATH=%PATH%;E:\WebRtc\depot_tools //path中添加depot_tools到首位
set vs2019_install=E:\Program Files (x86)\Microsoft Visual Studio\2019\Community
set GYP_MSVS_OVERRIDE_PATH=E:\Program Files (x86)\Microsoft Visual Studio\2019\Community
set GYP_GENERATORS=msvs-ninja,ninja
set WINDOWSSDKDIR=D:\Windows Kits\10 //windows sdk安装路径
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set http_proxy=127.0.0.1:10809 //10809代理端口
set https_proxy=127.0.0.1:10809
***设置完后,电脑重启使环境变量生效
5.获取WebRTC源码
mkdir webrtc #这是创建一个目录,当然也可以用鼠标创建。(该目录与depot_tools平齐)
cd webrtc #进入到我们刚刚创建的目录中
gclient #下载src文件
fetch --nohooks webrtc #获取代码,这一步会花点时间,一般会失败,我试了几次都失败了
gclient sync # 当过程中断时(包括上一步的失败),我们可以使用该命令恢复并继续
一般必须使用gclient sync,因为gclient下载下来的文件缺少了很多必要工具。需要通过sync才能下载,否则不能生成sln解决方案。
代表gclient sync同步成功:
6.编译
cd src
gn gen out/Default --ide=vs2019
ninja -C out/Default
进入gclient下载的src目录下,使用以上命令编译(编译条件必须安装vs2019)
编译成功如下图(会在src/out/default下生产all.sln文件):
gn gen out/Release --ide=vs2019 --args="is_debug=false"
ninja -C out/Release
基本同上,生成Release文件夹。
WebRTC编译后会在src\out\Default\obj和rc\out\Release\obj目录下生成整个WebRTC工程的静态库:webrtc.lib,链接下这个就可以了。