Windows下编译WebRTC

来源:互联网 发布:卡拉扬去世 知乎 编辑:程序博客网 时间:2024/05/16 12:47

一、 准备工作

1.0 科学上网工具

如果你不知道什么是“科学上网”或者没有“科学上网”的工具,那么请止步吧。
因为源码都是在命令行中下载,为了防止全局代理对命令行无效,可以设置如下环境变量:

netsh winhttp set proxy 127.0.0.1:1080   # 还原命令为:netsh winhttp reset proxyset HTTP_PROXY=http://127.0.0.1:1080set HTTPS_PROXY=https://127.0.0.1:1080

1.1 系统语言切换到英文

系统Windows 7/10都可以,在“控制面板”–>”区域和语言”–>”管理”–>”更改系统区域设置”中切换到“英语(美国)”,然后重启系统。

1.2 卸载部分软件

因为webrtc或chromium使用的编译系统会自动下载与之匹配的Python和Git,为了防止编译系统错误使用原有的版本,所以最好先卸载掉。

1.3 安装VS2017

Visual Studio 2017现在只提供在线安装包,为了加快在线安装的速度,可以只选择如下几个安装项:
* Desktop development with C++
* MFC and ATL support

1.4 安装Windows 10 SDK

虽然官方指南上面写的是支持10.0.15063及以后的版本,但编译选项中仍然指定的是10.0.15063版本,所以建议安装10.0.15063版本。
如果安装了其他版本,可能编译不过,例如提示“缺少advapi32.lib”等错误。

10.0.15063下载地址:

https://download.microsoft.com/download/0/1/1/01111605-8CDF-4A88-BB06-C20E97E8B3D5/iso_windowssdk/15063.468.170612-1856.rs2_release_svc_sec_WindowsSDK.iso

1.5 安装DirectX SDk

下载地址:

http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe

安装DirectX SDK June 2010,安装完成后可能会提示“s1023”这样的错误,这是因为与系统已有的visual c++ redistributable packages版本冲突,可以忽略不管。

二、 源码获取

2.1 配置depot_tools

depot_tools是webrtc或chromium使用的源码管理工具,从此处下载:

https://storage.googleapis.com/chrome-infra/depot_tools.zip

解压到D:\webrtc\depot_tools中,添加该目录到到系统环境变量PATH。

2.2 环境初始化

先设置如下环境变量:

DEPOT_TOOLS_WIN_TOOLCHAIN = 0GYP_GENERATORS = ninja,msvs-ninja

然后以管理员权限运行系统cmd命令行(不要使用其他命令行工具,如cmder),依次执行下面的命令:

d:cd D:\webrtc   # 用来进入webrtc目录,目录名不一样,命令也不一样gclient        # 需要使用网络代理,耗时较长

2.3 下载源码和依赖项

新建webrtc-checkout目录,下载源码到该目录,命令如下:

mkdir webrtc-checkout      # 也可以手动新建cd webrtc-checkoutfetch --nohooks webrtc    # 获取源码gclient sync              # 更新源码gclient runhooks          # 获取依赖项

三、 生成vs解决方案

进入webrtc-checkout\src目录(2.3步骤中下载的源码会自动存储到该目录),执行:

gn gen --ide=vs out/Debug

执行成功之后,在out/Debug目录中会看到all.sln解决方案文件。

参考:
https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md

原创粉丝点击