1.操作系统要求

  • Windows10专业版1909,64位版本
  • 内存12G,建议越大越好
  • 预留了50G磁盘空间,注意有大于4G文件,所以文件系统格式需要是NTFS

2.编译工具链VS2019

  • 使用的是enterprise版,community版本也没有问题。
  • 在C盘安装,安装路径使用默认,据说修改会引起某些问题。
  • Desktop development with C++组件选择安装10.0.18362或以上的Win10 SDK,最新版的VS2019已经默认了。
  • 后面还需要修改Win10 SDK的安装,添加安装调试工具Debugging Tools for Windows。
  • Desktop development with C++组件选择安装MFC以及ATL这两项。

3.depot_tools安装(***,***,***)

  • 3.1获取depot_tools

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

depot_tools目录在$PATH目录。

  • 设置depot_tools路径。将$PATH\depot_tools目录的路径加到系统环境变量Path里,然后把该路径移到最前面(这个工具会下载自己的python和git,避免已安装冲突)。

  • 设置编译器。在电脑->属性->高级系统属性->环境变量,新建一个系统环境变量: DEPOT_TOOLS_WIN_TOOLCHAIN ,值设置为0,提示depot_tools使用本机的VS进行编译。

Windows10下使用VS2019编译WebRTC

  • 3.2 安装环境

depot_tools/gclient.bat

   这个脚本会触发检测逻辑,自动下载cipd,自动下载python276_bin和git-1.9.0.chromium.6_bin。至此,我假设depot_tools已经安装完毕。CIPD

Windows10下使用VS2019编译WebRTC

 

4.WebRTC源码(***,***,***)

4.1指定代码目录

打开命令行窗口,在源码目录新建个目录准备下载源代码(eg:E:\company\webrtc-checkout),如下:

mkdir -p E:\company\webrtc-checkout
cd E:\company\webrtc-checkout

4.2 下载同步代码

执行下面的命令开始下载代码,这是个漫长的过程,下载的文件总大小大概10G,包括源码以及一些测试的音视频文件资源等等。

fetch --nohooks webrtc
gclient sync

如果中途出错,那就继续运行 gclient sync 。

5.编译

5.1 指定编译工具

在同一个命令行窗口里设置环境变量,你如果上面默认路径安装VS2019企业版,应该是一样的内容,其他版本相应修改下就好了。

set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2019
set vs2019_install=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
set GYP_GENERATORS=msvs-ninja,ninja

5.2 生成工程文件

执行下面的命令,生成VS2019工程文件

cd src
gn gen --ide=vs out/Default2019

再次运行

Windows10下使用VS2019编译WebRTC

生成的项目文件是E:\company\webrtc-checkout\src\out\Default2019 目录下的 all.sln ,可以用VS2019打开。放个图。

Windows10下使用VS2019编译WebRTC

5.3  编译参数说明

gn 编译工具有很多提高速度的参数. 我们可以通过编译的时候提供编译命令如下:

 gn gen out/Default --args="is_component_build = true is_debug = true".

  • target_cpu = "x86" - x86  x64  编译成64或者32位程序。

is_debug = true 是否调试。

5.4 生成结果

然后,输入指令进行编译:或者打开all.sh点击编译

gn gen out/vs2019_x64_debug --args="target_cpu=x64  is_debug=true"

现在,编译开始了。如果足够幸运的话,稍等一段时间,编译就能完成。

Windows10下使用VS2019编译WebRTC

 

Windows10下使用VS2019编译WebRTC 

6.常见错误处理

vs打开webrtc项目

https://blog.csdn.net/aaronjny/article/details/79828939

https://www.chromium.org/developers/gn-build-configuration

分类:

技术点:

相关文章: