webrtc编译需要常用环境变量以及相关名词解释
set vs2022_install=D:\\vs2022 set GYP_MSVS_OVERRIDE_PATH=D:\\vs2022 set GYP_GENERATORS=msvs-ninja,ninja set WINDOWSSDKDIR=D:\\Windows Kits\10 set DEPOT_TOOLS_WIN_TOOLCHAIN=0 set GYP_MSVS_VERSION=2022
这些环境变量是为了编译 WebRTC 时让 GYP/Depot Tools 正确找到 Visual Studio、Windows SDK 等编译环境。简单说明如下:
1. **vs2022_install=D:\vs2022**
- 指定 Visual Studio 2022 的安装路径
- 方便脚本引用、也便于其他相关环境变量使用
2. **GYP_MSVS_OVERRIDE_PATH=D:\vs2022**
- `GYP` 是 Google Chromium 系项目使用的构建工具生成器
- 此变量可以告诉 GYP、Ninja 等工具不要去自动搜索,而是强制使用指定路径下的 Visual Studio
3. **GYP_GENERATORS=msvs-ninja,ninja**
- 指定 GYP 输出的构建系统类型
- "msvs-ninja" 表示允许生成 Visual Studio 工程文件(msvs)和 Ninja 文件
- "ninja" 表示直接生成 Ninja 构建文件
4. **WINDOWSSDKDIR=D:\Windows Kits\10**
- 指定 Windows SDK 的安装文件夹
- 编译时需要调用 SDK 中的头文件、库文件等
5. **DEPOT_TOOLS_WIN_TOOLCHAIN=0**
- Depot Tools 是 Chromium/WebRTC 的协作工具
- 将其设为 0,表示使用本地系统安装的编译工具链,而不是自动下载/安装官方工具链
6. **GYP_MSVS_VERSION=2022**
- 明确告诉 GYP,Visual Studio 的版本是 2022
- 防止因为未指定而导致使用错误的 VS 版本或报错
通过以上这些环境变量,就能让 GYP/Depot Tools/Ninja 在构建 WebRTC 时正确找到 Visual Studio 2022、Windows SDK 等编译依赖,从而顺利编译。
fetch --nohooks webrtc nohooks意义
在使用 `fetch` 命令时,默认情况下会在同步/下载完成后自动执行一些“钩子(hooks)”脚本(类似于运行 `gclient runhooks`),这些脚本通常用于生成项目文件、拉取依赖、设置环境等。
如果加上 `--nohooks` 参数,就会跳过这一步骤,仅仅做代码拉取,不执行后续的钩子脚本。简单来说就是“只下载,不跑额外配置”。