在chromium的编译指导上面是有点复杂,我们先来一个极简的编译成功的教程,后面再详细去了解具体的优化和其它配置。

前提准备

  1. visual studio 2022
  2. git bash
  3. 网络(需要下载非常多的代码),最好是有全局加速网络

安装depot_tools

这个是google自己编写的下载和编译chromium的基础框架工具,这样简化了非常多的操作,不需要我们去关心里面的细节,只需要使用这个工具来下载,更新和编译chromium.

下载

下载地址如下,复制到浏览器双击下载。

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

添加到系统PATH

2025-03-07T01:03:40.png
2025-03-07T01:05:14.png

打开系统的环境变量设置,可以直接search "edit environ" ,选择然后点击PATH,如果有admin权限,可以将其放到系统的环境变量里面,如果没有就放到用户的环境变量的PATH里面。

有一个问题需要注意,一定要将depot_tools放到python的路径前面,因为depot_tools里面也自己的python,不能有其它python版本在depot_tools前面,这样会导致depot_tools使用其它版本的python,导致出现一些兼容性问题。如果你没有admin权限,在system env的PATH路径里面又有其它python路径,这样就会有问题,要不去获取admin权限,要不换台自己的电脑的吧。

下载源码

新建chromium目录来放置源码, 需要大概100G的空间,如果没有,最后会因为空间不足而失败。还有就是网络稳定也非常重要,不过网络出问题了也没事,这个是可以断点续传的,失败了会不需要重新再全部下载,只会下载没有完成的部分,所以不用很担心网络失败的

先创建一个目录来保存代码,建议是直接放在用户目录下面,这样总体路径不会太长,chromium有个rust测试的路径非常长,放到很深的目录下很容易超过256字节路径长度限制。

创建源码目录

mkdir chromium && cd chromium

在源码目录执行下面的命令下载源码, 这个取决于你的网络速度,一般要几个小时,所以可以放到晚上拉取, 还有如果失败要重试,使用gclient sync命令

fetch chromium

生成gn配置

通过GN工具生成.ninja配置文件,通过ninja工具编译

这是第一次编译chromium, 我们现在都用默认的配置,不用改任何东西。只需要在上面的chromium的目录下面拉取完代码后,子目录有一个src的目录,跳转到这个目录下面,执行gn命令

cd src
gn gen out/Default

gn gen最后的结果如下:

Generating Visual Studio projects took 16526ms
Done. Made 24193 targets from 3908 files in 29418ms

编译

有5万多个文件需要编译,好的机器也需要3个小时以上,所以也可以放到晚上编译。我的机器是7950x + 64G,在1.5小时可以编译完成。这个编译过程在会有一个utf-8的编译错误,导致一直失败。解决方法如下,启动windows的utf-8的配置
2025-03-07T01:15:58.png

编译命令如下:

autoninja -C out/Default chrome

编译完成大概花了1小时45分钟

2025-03-07T01:18:48.png

运行

./out/Default/chrome.exe

运行结果如下

2025-03-07T01:24:40.png

参考

1.https://chromium.googlesource.com/chromium/src/+/HEAD/docs/windows_build_instructions.md
2.https://beyondkmp.com/2023/10/30/compile-and-debug-chromium-windows/