一,需要:

1,vs2022(大于2017都行),

需要C++包,需要Clang,需要win11 sdk version 10.0.22621.0,需要MFC

安装vs时候,看到上面需要的字样就勾选上就行。

2,win10

3,需要150GB磁盘空间

二,官方资源

1,主要说明网址:https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md

2,参考了一下的文档:https://www.cnblogs.com/jiangu66/p/3177741.html

三,开始步骤

1,安装好上面说的vs2022以及包

2,下载depot_tools:

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

depot_tools是谷歌弄的编译工具全程都用这个工具进行源码编译

3,解压

工具到随便没有中文,空格,其他字符的位置(如D:\tmp\buildChrome\ready\depot_tools)

4,设置系统环境变量

在系统变量的path里面添加D:\tmp\buildChrome\ready\depot_tools,并且置顶。

在系统变量里面新建,名字是DEPOT_TOOLS_WIN_TOOLCHAIN,值是0

5,安装编译工具

在powershell执行如下命令,位置在D:\tmp\buildChrome\ready

$ gclient

程序会自动下载所有需要的东西,这个过程可能需要一些网络工具。
如果不行,可以给powershell设置代理
$proxy=’http://127.0.0.1:7890′
$ENV:HTTP_PROXY=$proxy
$ENV:HTTPS_PROXY=$proxy

注意,代理仅一次有用,关闭powershell再打开,就没了,需要重新设置。

出现下图,表示成功:

6,检查python

depot_tools里面找工具检查python和python3

python.bat

python3.bat

7,下载浏览器主代码

新开一个地方,如C:\src\chromium

$ fetch chromium

如果执行失败,下次再下载时候,要执行下面的语句(不会断点续传,会重新下)

$ gclient sync

一共下载了 39.83 GB文件,时间1个多小时

PS C:\src\chromium> gclient sync
Updating depot_tools...
1>________ running 'git -c core.deltaBaseCacheLimit=2g clone --no-checkout --progress https://chromium.googlesource.com/chromium/src.git C:\src\chromium\_gclient_src_l22w2eg7' in 'C:\src\chromium'
1>Cloning into 'C:\src\chromium\_gclient_src_l22w2eg7'...
1>remote: Finding sources: 100% (8289/8289)           objects: 1
1>remote: Total 20694302 (delta 15200668), reused 20692363 (delta 15200668)
1>Receiving objects: 100% (20694302/20694302), 39.83 GiB | 12.51 MiB/s, done.
1>Resolving deltas: 100% (15200668/15200668), done.
1>Checking objects: 100% (67108864/67108864), done.

[1:07:43] Still working on:
[1:07:43]   src

注意,Still working on:表示别担心,程序还在工作,一直等待完成。

最后如下表示下载完成

blink/renderer/core/css/perftest_data' took 33.89 secs
Running hooks: 100% (145/145), done.

8,编译代码

编译时间:2小时整

电脑配置i9-12900K,24核处理器

进入C:\src\chromium\src

执行

gn gen out\Zouzhe --args="is_component_build = true is_debug = true symbol_level = 1"

开始编译(autoninja会自动使用多核心处理器,不用担心make -j几)

$ set NINJA_SUMMARIZE_BUILD=1
$ autoninja -C out\Zouzhe chrome

编译后的out文件大小

编译后的总代码大小:

9,运行

在C:\src\chromium\src\out\Zouzhe下面,找到chrome.exe文件,双击,成功

提示缺少密钥,是因为我们没有填写谷歌api密钥


记录时间:2023年6月29日,走着的博客