编译chromium时遇到很多坑,特此记录。
编译日期:2020.12.25
系统需求
贴一段官网上的系统需求
- A 64-bit Intel machine with at least 8GB of RAM. More than 16GB is highly recommended.
- At least 100GB of free disk space on an NTFS-formatted hard drive. FAT32 will not work, as some of the Git packfiles are larger than 4GB.
- An appropriate version of Visual Studio, as described below.
- Windows 10 or newer.
1. 安装depot_tools
depot_tools用来下载chromium代码:
- 下载depot_tools;
- 解压到路径depot_tools;
- 将depot_tools的解压路径加到环境变量Path, depot_tools自带了Git和Python,如果自己安装了Git和Python,需要保证depot_tools在Path中的顺序在其之前;
- 在CMD中执行set DEPOT_TOOLS_WIN_TOOLCHAIN=0,目的是设置depot_tools使用本地安装的Visual Studio;
- 用CMD(不要使用PowerShell等其他命令行)执行命令gclient初始化;
2. 下载代码
打开命令行执行fetch chromium,总共有39G,等待下载完成。
遇到问题有:
- 下载代码时报错,此时src目录下没有文件,需要重新下载代码
- 下载代码时在Running hooks阶段报错,此时源码已经下载完成,只需解决错误重新执行gclient runhooks
我在Running hooks阶段遇到的问题如下:
Running hooks: 6% ( 6/97) nacltools
...省略
AssertionError: Unrecognized arch machine
Error: Command 'vpython.bat src/build/download_nacl_toolchains.py
--mode nacl_core_sdk sync --extract' returned non-zero
修改native_client\pynacl\platform.py:132行
# machine = machine.lower()
machine = 'x86_64' # 直接改成自己机器的 arch machine
3. 安装vs2019和win10 Debugging Tools
-
在官网上下载vs2019

-
控制面板-程序-程序和功能-选择windows sdk-右键更改-勾选Debugging Tools for windows-change
如果这种方式下载不动就去微软官网下载windows sdk安装程序单独安装Debugging Tools

4. 编译
- 在CMD中设置环境变量,根据自己电脑实际情况设置
set vs2019_install=D:\Program Files (x86)\Microsoft Visual Studio\2019\Communityset WINDOWSSDKDIR=D:\Windows Kits\10set TMP=C:\Windows\TEMPset NUMBER_OF_PROCESSORS=4set DEPOT_TOOLS_WIN_TOOLCHAIN=0
- 执行命令 gn gen --ide=vs out/Default
- 可以修改out/Default/args.gn设置编译参数,我只设置了一个enable_nacl=false,设置多了编译容易出错
- 编译 autoninja -C out\Default chrome
- 等待…

5. 编译成功

6.使用vs2019调试
- 使用vs2019打开out/Default/all.sln
- 解决方案中右键chrome设置为启动项目

- 添加启动参数 –single-process设置为单进程启动,不然可能进不了断点

- 添加断点
- 点击 调试-开始调试 或者按F5快捷键启动调试,下图断点为解析HTML的地方,参数input为测试用的html文件内容

7. 结语
chromium工程太过庞大,可能每个人遇到的错误都不一样,需要根据错误信息解决实际遇到的问题。
如果本文帮助到了你,麻烦帮忙点个赞吧
858

被折叠的 条评论
为什么被折叠?



