为了使用编译后的webrtc库我花了很多时间,终于在今天解决了各个问题,并正式在自己的项目中使用。说真的很累(* ̄(oo) ̄)。但成功了让我觉得这一切都没有白费(≧▽≦q)
Windows 环境下下载 WebRTC 源码
准备工作
安装必要工具
Visual Studio
- 安装 Visual Studio 2022
- 勾选以下组件:
- C++开发桌面工作负载(包含 MSVC、Windows 10 SDK)
安装 Python
安装时勾选 “Add Python to PATH”。
安装 Git
从官网下载并安装:https://git-scm.com/download/win
假设你的代理地址是:127.0.0.1:7890
1 | git config --global http.proxy http://127.0.0.1:7890 |
下载 depot_tools并配置环境
1 | git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git |
配置环境变量:
-
将
depot_tools所在目录添加到系统的PATH- 控制面板 → 系统 → 环境变量 →
Path→ 添加一行:C:\your\path\to\depot_tools
- 控制面板 → 系统 → 环境变量 →
-
添加系统变量
-
编译相关
DEPOT_TOOLS_UPDATE=0
DEPOT_TOOLS_WIN_TOOLCHAIN=0
GYP_MSVS_OVERRIDE_PATH=C:\Program Files\Microsoft Visual Studio\2022\Community 这个变量和生成vs工程有关,就是在编译参数添加的–ide=vs2022 -
网络相关
http_proxy=你的代理地址
https_proxy=你的代理地址
NO_AUTH_BOTO_CONFIG=/youpath/.boto
.boto文件的内容如下
1 | [Boto] |
拉取 WebRTC 源码
打开 x64 Native Tools Command Prompt for VS(推荐使用这个终端)
创建工作目录
1 | mkdir webrtc-checkout |
拉取源码(首次使用)
1 | fetch --nohooks webrtc |
⚠️ 第一次会下载 Chromium 构建环境,时间较长。
进入源码目录并同步依赖
1 | cd src |
生成和构建
创建构建目录
1 | gn gen out/Default |
在out/Default/args.gn文件中
设置如下编译参数:
1 | # Set build arguments here. See `gn help buildargs`. |
is_debug = true 控制是否是调试版本的
编译(使用 Ninja)
1 | ninja -C out/Default --ide=vs2022 |
编译过程中可能出现少量语法问题,可通过询问AI手动解决
在VS项目中使用webrtc库文件
需要添加以下预编译宏定义
WEBRTC_WIN
NOMINMAX
RTC_ENABLE_WIN_WGC
采用调试还要添加以下这行
_ITERATOR_DEBUG_LEVEL=0
说些什么吧!