chromium的下载和编译(流程详解)

准备工作: 1、的梯子(必须,因为需要访问国外服务器进行数据下载和同步)

                 2、安装VS2019,且请务必把安装路径设置为C盘(最好默认安装),这样可以省掉很多不必要的环境变量配置。(一开始我VS安装在D盘,走了很多弯路也没成功,win10sdk可以放D 盘) 

                3、安装git

                4、安装win10sdk的版本10.0.20348 .0(具体需要哪个版本主要由后面的../src/bulid/toolchain/win/setup_toolchain.py中的版本要求决定)               

正式开始:

1、创建一个文件夹并进到文件夹下:D:\work

2、下载depot-tools.zip包(下载chromium源码的一个工具, 里面自带有python工具, 如果已经安装了python,建议先卸载掉,否则会出现一些报错,改起来麻烦)。下载地址:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
成功后,进入D:\work\depot_tools如下图

chromium的下载和编译(流程详解)_第1张图片

 3、添加D:\work\depot_tools 到系统环境变量,且一定要将其放在path的最前面(避免踩坑),为后期做准备。如图

chromium的下载和编译(流程详解)_第2张图片

4、其他需要设置的系统环境变量:

        DEPOT_TOOLS_WIN_TOOLCHAIN        0

        GYP_GENERATORS    msvs-ninja, ninja

        GYP_MSVS_VERSION    2019

        vs2019_install   C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\   (具体请看安装VS2019的位置)

        WindowsSdkDir        D:\Windows Kits\10     (这里具体看你VS2019的SDK在什么地方,主要看对应目录下是不是有这些文件),如下图

chromium的下载和编译(流程详解)_第3张图片

5、打开cmd 进入D:\work\depot_tools下,

输入命令:gclient                //更新depot_tools到最新版本

特别注意:如果梯子是需要设置代理IP和端口的,请先通过命令去设置好代理(网上有告诉怎么设置的,这里由于我的梯子并不需要设置代理,所以就不设置了)

depot_tools更新完后将出现如下截图:

chromium的下载和编译(流程详解)_第4张图片

6、在D:\work\下创建一个新的chromium,然后 cd D:\work\chromium, 

然后执行 fetch --no-history chromium         //下载chromium源码

如下图,说明已经开始了,这里需要漫长的等待,我用2M/s的梯子,同步chromium源码差不多耗时120分钟,文件总大小在25.5G左右

chromium的下载和编译(流程详解)_第5张图片

7、下载中如果发生了中断,想继续执行要使用
gclient sync --with_branch_heads

8、随后cmd进入D:\work\chromium\src 目录中
gclient runhooks          //这一步有时可以省略,担心的话也可以执行一下

9、然后生成项目编译文件,只是产生需要的目录(所以这个可以不用重复执行)
gn gen out\debug  (大概耗时20秒)

10、最后一步,使用ninja工具编译
ninja -C out/debug chrome

执行时出现一个错误:FAILED: v8_context_snapshot.bin,如下图

chromium的下载和编译(流程详解)_第6张图片解决办法是找到D:\work\chromium\src\base\win\com_init_check_hook.h,注释掉下面红色框中的定义就可以了。

chromium的下载和编译(流程详解)_第7张图片

编译成功后,将会在D:\work\chromium\src\out\debug\下出现一个all.sln的文件,用vs2019打开就可以看到源码了。同时在D:\work\chromium\src\out\debug\下也会生成一个chrome.exe的浏览器,到这里就算debug版本的编译成功了

注意:这里生成的将是开发版模式的浏览器,有些电脑运行可能会是黑屏的(原因是GPU不支持硬件加速,解决办法是生成正式版);如果要生成正式版的,需要修改.gclient和args.gn文件,我在这简单将下release正式版的生成吧

1、找到D:\work\chromium\.gclient ,打开后添加配置 "checkout_pgo_profiles": True,

chromium的下载和编译(流程详解)_第8张图片

 2、打开梯子,进入D:\work\FFBrowser\chromium后,用cmd执行

gclient sync --with_branch_heads

3、进入src下,执行gn gen out\release --ide=vs --args=""

4、执行设置参数命令:gn args out\release

5、弹出来的文件窗口内添加下面的配置

is_debug = false

target_cpu = "x86"

is_official_build = true

symbol_level = 0

blink_symbol_level=0

v8_symbol_level = 0

enable_nacl = false

ffmpeg_branding = "Chrome"

proprietary_codecs = true

添加好后关闭文件窗口,cmd将自动往后执行

6、执行编译命令:ninja -C out/release mini_installer

成功后将会在src/out/release下得到一个mini_installer.exe的安装包,安装打开后,查看浏览器的about就可以看到显示的是正式版浏览器了

                 

你可能感兴趣的:(chromium,chrome,devtools,chrome,c++)