chromium38内核编译

本文详细介绍了如何在2014年的Win7 64位系统上编译Chromium 38.0.2114.2内核,包括环境准备、硬件需求、软件安装、编译步骤等,旨在提供一个可操作的编译流程。编译过程中涉及IE10、VS2013、Ninja、SVN等工具的使用,并提示了可能遇到的问题及解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文写于2014.8.7,以2014.8.5日发布的chrome 38.0.2114.2版本为例

chromium 在Win7 64位下的编译 

为什么写这篇文章

刚开始学习 chrome 浏览器,从下载代码,编译代码开始,查看别人写的文章,好多都不管用,有些是直接转载的碎片,没有加以验证,有些是太久远的文章,chrome更新速度比较快,结构有大的调整,windows下的编译步骤调整很快。

按照本文的步骤,基本可以顺利的编译。

交流chrome联系 QQ:57565929 

环境准备

1.操作系统

win7 sp1 64位,必须sp1以上,必须64位,下载地址 提取码 b38e

里面有安装序列号,以及自动激活程序 

我的机器环境,关闭UAC,关闭自动睡眠

  

2.硬件环境

开发chrome对硬件性能要求比较高,为了更流畅的编译调试,我的机器配置应该算是最低配置了。

8G内存,i3-cpu,剩余空间60G以上 

3.软件环境

IE10 下载地址 提取码 7d14

  

VS2013  下载地址 提取码 b593

正常安装,只用勾选C++,其他没有必要勾选,安装完成后,使用里面的序列号重新注册

可选安装,我的机器安装了。使用ninja来编译chrome是最好的选择,自己也试过用vs2013来编译,速度相当慢。Vs2013用来查看和编辑代码,chrome未来肯定只会支持使用ninja来编译。不要对使用vs系列编译抱有幻想,编译速度相当慢。

Ninja的实现是调用depot_tools自动下载的win8sdk和wdk7600的cl,link等程序 

SVN 下载地址 提取码 a76b

我的本机装有TortoiseSVN-1.8.7.25475-x64,安装的时候记得要勾选加入环境变量。

如果没有安装的话,depot_tools应该会自动下载svn客户端,没有验证 


翻墙必须的!要访问很多google上的资源,翻墙软件povpn下载地址

 

Git

我的机器没有安装git客户端,depot_tools会自动下载 

Python

我的机器没有安装git客户端,depot_tools会自动下载 

其他win8sdk(已经包含dx库),dx,wdk7600,没有必要自己安装,depot_tools会自动下载安装,因为ninja必须使用它下载的文件。

编译代码

1) 创建目录 D:\code\chromium

2) 启动povpn,可以正常访问 http://www.chromium.org/Home

3) 下载depot_tools

38.0.2114.2版本对应的depot_tools,使用svn客户端checkout,注意后面的版本号

http://src.chromium.org/svn/trunk/tools/depot_tools 287057

 

最好使用38.0.2114.2对应的depot_tools版本287057 

4) 添加环境变量 path路径后面增加 D:\code\chromium\depot_tools

5) 运行cmd,gclient --version 会自动下载git python程序

6) 再次运行 gclient --version,确保没有错误

7) 这里有一步额外的工作

打开D:\code\chromium\depot_tools\python276_bin\lib\mimetypes.py

跳转到249行

删除以下代码

try:

   ctype = ctype.encode(default_encoding) # omit in 3.x!

except UnicodeEncodeError:

   pass 

如果注册表中有这种类型的键值,会出错,属于python276的bug

  

8) 创建目录 D:\code\chromium\chromiumtrunk\chrome_38,用来保存源代码

9) 运行cmd,cd D:\code\chromium\chromiumtrunk\chrome_38 

10) gclient config http://src.chromium.org/svn/releases/38.0.2114.2

11) 打开 D:\code\chromium\chromiumtrunk\chrome_38下的 .gclient文件,不要关闭cmd

修改 custom_deps 字段

添加 

"src/third_party/WebKit/LayoutTests": None,  # 800M

"src/chrome_frame/tools/test/reference_build/chrome": None, 

"src/chrome/tools/test/reference_build/chrome_win": None,  #4G 

src/chrome/tools/test/reference_build/chrome_win 目录是google编译的文件,非常大,有4G多,没有必要下载。

  

12) 在cmd下输入 

set GYP_DEFINES=component=shared_library

set GYP_GENERATORS=ninja

如果要生产chrome.sln用来浏览代码,输入set GYP_GENERATORS=ninja,msvs

 

13) 运行 gclient sync --force

慢慢等待吧,需要很长时间,最好用一个晚上

 

14) 代码下载完成之后。不要关闭cmd

depot_tools\win_toolchain下是否存在 vs2013_files,不存在的话,说明有问题

  

15) 打开D:\code\chromium\chromiumtrunk\chrome_38\src\build下的common.gypi

跳转到5244行,禁用以下警告

4819, 4996, 4702, 4067, 4800, 4251

  

16) 在cmd输入 gclient runhooks

17) 下面开始编译代码,预计2个半小时

在cmd输入 ninja -C out\Debug chrome.exe

  

Cpu打满,不够用,内存在link的时候达到顶峰,消耗5.3G

  

可以看到编译时候ninja调用的是depot_tools下的cl和link

  

18) 运行D:\code\chromium\chromiumtrunk\chrome_38\src\out\Debug\chrome.exe

Debug版本非常消耗内存

 

  

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值