如何详细记录WebRTC Windows编译源码的完整过程?

2026-04-12 00:011阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计656个文字,预计阅读时间需要3分钟。

如何详细记录WebRTC Windows编译源码的完整过程?

环境准备 + VS2022(必需默认安装到C盘,安装在其他地方,将出现找不到编译器的状况,其他情况下,不用往下看了)+ Windows 10 + SDK version 10.0.22621.0 + 科学上网环境(没有外网,千万别折腾)

环境准备

VS2022(必须默认安装在C盘,安装在其他地方,将出现各种找不到编译器的情况,其他情况下,不用往下看了)

Windows 10 SDK version 10.0.22621.0

科学上网环境(没有外网,千万别折腾)

足够内存16G和磁盘空间32G

git工具

创建文件夹webrtc存放工具和源码

安装Google工具

创建文件夹webrtc/depot_tools

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

备注:depot_tools就是一堆下载代码,编译等相关的工具,Google统一打包在 depot_tools中,需将它下载到本地。这里需要注意,完整的depot_tools大概1个G左右,有的人给的depot_tools压缩包不完整,还需要执行gclient才能获得完整的depot_tools,执行gclient也需要代理服务器,前面我们已经配置了代理服务器,这一步我们直接从git上面拉取即可

配置环境变量

Path添加路径,重启电脑

在cmd中执行gclient,等待执行成功


源码下载

mkdir webrtc/webrtc-checkout

cd webrtc/webrtc-checkout

fetch --nohooks webrtc

gclient sync

备注:执行 fetch --nohooks webrtc下载整个 webrtc 的工程,这个时间会比较久一些

通过输入以下内容来选择稳定版本60,而不是最新版本

cd src

git branch -r

如何详细记录WebRTC Windows编译源码的完整过程?

git checkout branch-heads/60


设置环境变量

// 告诉depot_tools使用我们本机的VS进行编译

set DEPOT_TOOLS_WIN_TOOLCHAIN=0

生成 vs2022 工程

cd src

gn gen --ide=vs out/Default

会在out/Default目录下生成all.sln解决方案


编译程序

ninja -C out/Default

最后会在 out/Default 目录下面生成许多的可执行文件和 dll


问题记录

You must install Windows 10 SDK version 10.0.22621.0 including the "Debugging Tools for Windows" feature

应用和功能找到对应的SDK,目前是最新的SDK版本,点击修改

Exception: dbghelp.dll not found in "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll"

第一个问题按照提示操作,还是提示该问题的原因是本地安装了好几个版本的SDK,将C:\Program Files (x86)\Windows Kits\8.1\Debuggers整个文件夹拷贝到C:\Program Files (x86)\Windows Kits\10目录下


The expected clang version is llvmorg-17-init-16420-g0c545a44-8 but the actual version is Did you run "gclient sync"?

gclient sync重新执行下

本文共计656个文字,预计阅读时间需要3分钟。

如何详细记录WebRTC Windows编译源码的完整过程?

环境准备 + VS2022(必需默认安装到C盘,安装在其他地方,将出现找不到编译器的状况,其他情况下,不用往下看了)+ Windows 10 + SDK version 10.0.22621.0 + 科学上网环境(没有外网,千万别折腾)

环境准备

VS2022(必须默认安装在C盘,安装在其他地方,将出现各种找不到编译器的情况,其他情况下,不用往下看了)

Windows 10 SDK version 10.0.22621.0

科学上网环境(没有外网,千万别折腾)

足够内存16G和磁盘空间32G

git工具

创建文件夹webrtc存放工具和源码

安装Google工具

创建文件夹webrtc/depot_tools

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

备注:depot_tools就是一堆下载代码,编译等相关的工具,Google统一打包在 depot_tools中,需将它下载到本地。这里需要注意,完整的depot_tools大概1个G左右,有的人给的depot_tools压缩包不完整,还需要执行gclient才能获得完整的depot_tools,执行gclient也需要代理服务器,前面我们已经配置了代理服务器,这一步我们直接从git上面拉取即可

配置环境变量

Path添加路径,重启电脑

在cmd中执行gclient,等待执行成功


源码下载

mkdir webrtc/webrtc-checkout

cd webrtc/webrtc-checkout

fetch --nohooks webrtc

gclient sync

备注:执行 fetch --nohooks webrtc下载整个 webrtc 的工程,这个时间会比较久一些

通过输入以下内容来选择稳定版本60,而不是最新版本

cd src

git branch -r

如何详细记录WebRTC Windows编译源码的完整过程?

git checkout branch-heads/60


设置环境变量

// 告诉depot_tools使用我们本机的VS进行编译

set DEPOT_TOOLS_WIN_TOOLCHAIN=0

生成 vs2022 工程

cd src

gn gen --ide=vs out/Default

会在out/Default目录下生成all.sln解决方案


编译程序

ninja -C out/Default

最后会在 out/Default 目录下面生成许多的可执行文件和 dll


问题记录

You must install Windows 10 SDK version 10.0.22621.0 including the "Debugging Tools for Windows" feature

应用和功能找到对应的SDK,目前是最新的SDK版本,点击修改

Exception: dbghelp.dll not found in "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll"

第一个问题按照提示操作,还是提示该问题的原因是本地安装了好几个版本的SDK,将C:\Program Files (x86)\Windows Kits\8.1\Debuggers整个文件夹拷贝到C:\Program Files (x86)\Windows Kits\10目录下


The expected clang version is llvmorg-17-init-16420-g0c545a44-8 but the actual version is Did you run "gclient sync"?

gclient sync重新执行下