2019/7/13日注:
该文章内容已过时,部分配置及环境要求发生变动. 具体过程请参阅官方的编译指南.
https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md
系统环境 Windows 7 x64
编译版本 Chromium 69.0.3482.0
安装Visual Studio Community 2017
安装时,勾选以下选项
如果已经安装了Visual Studio Community 2017, 可通过 工具 > 获取工具和功能 打开该页面
- 工作负载
- 使用 C++ 的桌面开发
- 用于 x86 和 x64 的 Visual C++ ATL
- 用于 x86 和 x64 的 Visual C++ MFC
- 使用 C++ 的桌面开发
- 单个组件
- SDK、库和框架
- Windows 10 SDK (10.0.17134.0)
- SDK、库和框架
- 语言包
- 英语
注意不要更改默认的安装位置, 如果改了编译时可能会出错,提示找不到Visual Studio
C盘不够大的话可以更改下载缓存位置到其他硬盘分区
安装SDK Debugging Tools
1 安装Visual Studio后, 打开Control Panel → Programs → Programs and Features
2 右键 Windows Software Development Kit -> 点击Change
3 选择Change -> 点击 Next按钮 -> 勾选Debugging Tools For Windows -> 点击Change按钮
安装depot_tools
depot_tools 的下载地址
解压depot_tools.zip,这里以解压到路径D:\depot_tools为例
1 将D:\depot_tools添加到系统变量Path中(一定要放在最前,特别是之前安装了Python和Git)
2 添加系统变量DEPOT_TOOLS_WIN_TOOLCHAIN,将值设置为0
3 进入depot_tools文件夹,使用cmd运行gclient命令
注意:应使用系统自带的cmd运行gclient命令,别的shell(cygwin, PowerShell)可能会出错
如果gclient运行时报错,可使用gclient sync继续运行
下载chromium源代码
创建chromium文件夹并进入
1 | mkdir chromium && cd chromium |
注: 本文将chromium文件夹创建在D盘下,即路径 D:\chromium
输入如下命令,下载chromium代码
1 | fetch --no-history chromium |
下载完成后会自动创建src文件夹
用cd命令进入src目录, 以下操作皆在该文件夹进行
1 | cd src |
生成编译配置文件
Chromium使用Ninja作为编译工具,使用GN生成.ninja配置文件
输入如下gn args命令,在out\mybuild目录下创建编译所需配置文件
1 | gn args out\mybuild |
执行如上命令后,会弹出一个记事本.在其中输入编译配置,保存后关闭记事本
1 | use_jumbo_build = true |
2019/7/13 更新
1 | use_jumbo_build = true |
编译
使用ninja命令编译
1 | ninja -j 1 -C out/mybuild chrome |
参数 -j N为使用进程数,默认为6
低配电脑使用多进程可能会出错,建议使用参数-j 1编译,即单个进程
如果编译中出错,重新执行ninja -j 1 -C out/mybuild chrome命令即可继续编译
增量更新及编译
在D:\chromium\src下执行如下命令
1 | git rebase-update |
注: git rebase-update 失败的话, 可以用 git pull 命令代替
Error
1 运行gclient命令时报错
1 | Username for 'https://chrome-internal.googlesource.com': |
解决办法
确保已设置系统变量DEPOT_TOOLS_WIN_TOOLCHAIN ,且变量值为0
参考
2 运行ninja命令时报错
1 | Exception: C:\Program Files (x86)\Microsoft Visual Studio\2 missing - make sure VC++ tools are installed. |
解决办法
确保安装了VC++ 2017 version 15.9 v14.16 latest v141 tool等工具
3
error Windows 10.0.18362.0 SDK or higher required.
解决办法
安装 Windows 10 SDK (10.0.18362.0)
Windows 10 SDK - Windows app development
4
resource whitelist generation only works on non-component builds with debug info enabled.
See //tools/grit/grit_rule.gni:105:7: symbol_level > 0 && !strip_debug_info && !is_component_build
解决办法
更改 ninja 配置 symbol_level = 0 -> symbol_level = 1
参考
windows_build_instructions
gn-build-configuration
chrome|chromium User Data Directory - Default Location
Chromium代码编译选项介绍