在 Windows中编译 Chromium
这是一个自用chromium编译笔记, 供日后参考, 不作为编译指导, 详细请参考 官方文档,(中文参考)
安装Visual Studio Community 2019
- Desktop development with C++
- “MFC/ATL support” sub-components
- Windows 10 SDK
安装SDK Debugging Tools
- 安装Visual Studio后, 打开Control Panel (控制面板)→ Programs → Programs and Features
- 右键 Windows Software Development Kit -> 点击Change
- 选择Change -> 点击 Next按钮 -> 勾选Debugging Tools For Windows -> 点击Change按钮
安装 depot_tools
- 下载depot_tools bundle
- 将 zip 压缩文件 解压到指定路径, 例如: D:\depot_tools
- 将D:\depot_tools添加到系统变量Path中 (一定要放在最前,特别是之前安装了Python和Git)
- 添加系统变量DEPOT_TOOLS_WIN_TOOLCHAIN, 将值设为0
- 添加系统变量 vs2019_install, 值为安装地址. 例 vs2019_install=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional (不知道用途和正确性).
- 进入depot_tools文件夹启动cmd运行gclient命令
注意:应使用系统自带的cmd运行gclient命令,别的shell(cygwin, PowerShell)可能会出错
如果gclient运行时报错,可使用gclient sync继续运行
重点: 此处需要代理, 最好是HTTPS代理. 不然很窝火 此处极度坑爹推荐使用ping云加速有免费试用, 可以设置https监听端口. 如果有大佬会设置此处端口望告知,感谢!
chromium 代理完美解决办法
#git的代理设置
git config --global http.proxy 127.0.0.1:8889 (此处改为自己https监听端口号)
git config --global https.proxy 127.0.0.1:8889
#winhttp的代理设置
netsh winhttp set proxy 127.0.0.1:8889 (控制台运行时需要以管理员权限打开)
#cipd_client的代理设置
cipd_client项目来源于
https://github.com/luci/luci-go/tree/master/cipd/client/cipd
通过源码分析使用的是golong的net/http库访问http/https,可通过环境变量设置代理
set HTTP_PROXY=127.0.0.1:8889 (注意不要加http://或者https://)
set HTTPS_PROXY=127.0.0.1:8889 (注意不要加http://或者https://)
本地代理(VPN)要求8889端口是本地http/https代理服务,
如果是socks5代理cipd_client是不支持的,
需要使用privoxy.exe再做一层http/https代理
————————————————
版权声明:本文为CSDN博主「杨小卫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tdgx2004/article/details/66965675
完成后可能看到以下warning, 目前无影响
NOTICE: You have PROXY values set in your environment, but gsutil in depot_tools does not (yet) obey them. Also, --no_auth prevents the normal BOTO_CONFIG environment variable from being used. To use a proxy in this situation, please supply those settings in a .boto file pointed to by the NO_AUTH_BOTO_CONFIG environment var.
下载chromium源码
在适当位置创建文件夹用于储存源码, 注意磁盘空间要大于100G, 并且为NTFS,
windows 在cd
后加/d
以跨区切换
cd /d d:\chrome
下载源码
fetch --no-history chromium
安装完成后
cd src
生成编译文件
Chromium使用Ninja作为编译工具,使用GN生成.ninja配置文件
输入如下gn args命令,在out\Default目录下创建编译所需配置文件. Default 可替换为自定义名称, 此处自定义名称为 mybuild
gn args out\mybuild
执行之后会弹出一个记事本 , 在其中输入编译配置后保存关闭即可
# Build arguments go here.
# See "gn args <out_dir> --list" for available build arguments.
is_component_build = false
is_debug = false
enable_nacl = false
target_cpu = "x86"
symbol_level = 1
blink_symbol_level=0
google_api_key ="AIzaSyDCNWofwOkYgeS3aBnd901sIJqSS4p3nKc"
google_default_client_id = "752805503192-gigd4quq46757vjupq4rv5oga3sougnp.apps.googleusercontent.com"
google_default_client_secret = "bEbljK3NYvuRBe-zn7UyS4Zy"
详细配置说明参见 官方配置文档
或参考Chromium代码编译选项介绍
编译
使用autoninja 编译, 此处与之前自定义名称需保持一致, 此处自定义名称为 mybuild
autoninja -C out\mybuild chrome
如果编译中断了,可以继续执行上述指令进行增量编译. 等待ing…