编译 Chromium(Chrome 浏览器)源码是一个复杂但非常有趣的过程。你可以从头开始构建自己的浏览器,并对其进行定制,调试或优化。下面是 Windows 平台下,如何获取 Chromium 的源码并进行编译构建的详细步骤。
一、系统要求
在开始之前,确保你的计算机满足以下系统要求:
-
操作系统:Windows 10 或更高版本。
-
硬件要求:
-
至少 8GB 内存 ,推荐 16GB 或更多。
-
至少 100GB 可用硬盘空间(NTFS 格式,FAT32 格式不可用)。
-
64 位处理器。
-
-
必需工具:
-
Visual Studio 2022 (版本 >= 17.0.0)用于编译,并且需要安装 Desktop development with C++ 组件。
-
Windows 11 SDK(版本 10.0.26100.4654)及其调试工具。
-
二、设置 Visual Studio
-
安装 Visual Studio 2022:
-
下载并安装 Visual Studio 2022 ,确保选择了 Desktop development with C++ 组件和 MFC/ATL support 。

-
你可以通过命令行安装 Visual Studio:
$ PATH_TO_INSTALLER.EXE ^ --add Microsoft.VisualStudio.Workload.NativeDesktop ^ --add Microsoft.VisualStudio.Component.VC.ATLMFC ^ --includeRecommended
-
-
Windows SDK 和调试工具:
-
安装 Windows 11 SDK,版本号为 10.0.26100.4654。
-
如果使用 ARM64 进行编译,还需要手动安装调试工具。
-
-
安装调试工具:
- 如果 SDK 中没有包含调试工具,可以去 Control Panel > Programs and Features > Windows Software Development Kit 安装调试工具。
三、安装 Git 和 Depot Tools
-
安装 Git:
- 下载并安装 Git for Windows。
-
更新 Git:
-
更新现有的 Git 安装,通过以下命令:
git update-git-for-windows
-
-
命令行设置临时代理
set http_proxy=http://10.16.13.18:8080
set https_proxy=http://10.16.13.18:8080
netsh winhttp set proxy 10.16.13.18:8080
cpp当前的 WinHTTP 代理服务器设置: 代理服务器: 10.16.13.18:8080 绕过列表 : (无) -
安装 Depot Tools:
-
depot_tools是 Chromium 构建系统的核心工具。克隆depot_tools仓库到指定目录,例如:$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git C:\src\depot_tools
可能的报错
cpp报错一 git clone ssh://git@chromium.googlesource.com/chromium/tools/depot_tools.git Cloning into 'depot_tools'... ssh: connect to host chromium.googlesource.com port 22: Network is unreachable fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 原因是 SSH 协议默认走 22 端口,而你现在在公司网络或通过 HTTP 代理访问,端口 22 被阻断。即使你设置了 http_proxy/https_proxy 和 WinHTTP 代理,SSH 不会走 HTTP 代理,所以无法连接。 解决方法 方案 1:用 HTTPS 克隆 depot_tools(推荐) git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git - HTTPS 可以通过你已经设置的 HTTP 代理访问。 - 如果公司网络限制了 HTTPS,需要确保代理能访问外网。 方案 2:SSH + 代理(复杂,不建议) - 需要配置 ProxyCommand 或 corkscrew 让 SSH 走 HTTP 代理。 - 在 Windows 下比较麻烦,一般只在必须用 SSH 权限操作私有仓库时用。 报错二 git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git Cloning into 'depot_tools'... fatal: unable to access 'https://chromium.googlesource.com/chromium/tools/depot_tools.git/': schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) 报错2需要执行即可 git config --global http.sslBackend "openssl" 完成后配置环境变量 D:\work\code\SE_AI_Chrome_143\depot_tools 加到path里面,重新启动cmd- 垃圾玩意删不掉
-
-
配置环境变量:
-
将
depot_tools添加到系统的 PATH 环境变量中(确保它在 Python 之前)重启cmd。 -
在环境变量中添加:
DEPOT_TOOLS_WIN_TOOLCHAIN=0 -
where gclient看下是不是第一个,下图就没问题

-
-
运行 gclient:
-
安装所有 Windows 特定的依赖:
$ gclient
-
四、获取 Chromium 源码
-
配置 Git :
配置 Git 用户名和电子邮件:
cpp$ git config --global user.name "My Name" $ git config --global user.email "my-name@chromium.org" $ git config --global core.autocrlf false $ git config --global core.filemode false -
创建 Chromium 目录并获取源码 :
创建一个新的目录并切换到该目录:
$ mkdir chromium && cd chromium使用
fetch命令下载 Chromium 的代码及其依赖:$ fetch chromium如果你不需要完整的历史记录,可以加上
--no-history参数来加速下载:$ fetch chromium --no-history -
可能的报错

-
同步子仓库 :
如果获取过程中出现错误,可以运行以下命令来同步所有子仓库:
$ gclient sync
五、设置构建目录
-
生成构建文件 :
使用 GN(Google's build system)来生成 Ninja 构建文件。首先,在
src目录下创建构建目录:$ cd src $ gn gen out\Default这将生成用于构建 Chromium 的
out/Default目录。 -
可能的问题

-
构建 Chromium :
使用
autoninja来执行构建:$ autoninja -C out\Default chromeautoninja是ninja的一个包装工具,自动提供最优的参数设置。
六、加速构建
-
硬件优化:
-
将构建目录存放在 SSD 硬盘上,以提高读写速度。
-
使用多核 CPU(20 核以上)和大量内存(64 GB 以上)可以显著提高构建速度。
-
-
配置
gn参数以优化构建时间:gn args out\Default --args="is_component_build=true is_debug=true" -
禁用防病毒软件和文件系统索引:
- 确保防病毒软件不会扫描构建目录,尤其是在使用 Windows Defender 时。
七、运行 Chromium
编译完成后,你可以运行 Chromium 浏览器:
$ out\Default\chrome.exe
如果使用 Visual Studio 调试,你可以直接从 IDE 中启动。
八、运行测试
如果你想运行测试,可以使用以下命令:
$ autoninja -C out\Default unit_tests
运行测试时,你还可以指定过滤器来选择特定的测试:
$ out\Default\unit_tests.exe --gtest_filter="BrowserListUnitTest.*"
九、构建安装程序
如果你想构建一个完整的安装程序(包含所有必要的文件),可以使用以下命令:
$ autoninja -C out\Default mini_installer
十、更新你的源码
当你需要更新源码时,可以运行以下命令:
$ git rebase-update $ gclient sync -D
git rebase-update 会更新主 Chromium 仓库,并将本地分支移到最新的提交。gclient sync -D 会同步所有子仓库并删除不再需要的部分。
总结
编译和构建 Chromium 浏览器需要一些时间和系统资源,但按照上述步骤,你可以顺利地在 Windows 平台上完成这一过程。通过配置适当的硬件和构建参数,你可以加速编译,并开始调试和自定义 Chromium 源码。