首页 > Chrome源码学习 > Chrome源码编译

Chrome源码编译

还是在四月份的时候,一时心血来潮下载下来了Chrome的代码打算随便看看,当时候确实看了几天,不过后来因为一些其他事情就放下了,最近无聊了很久,终于还是决定继续看看。虽然编译没什么技术含量,不过体验一下还是不错,主要是环境的搭建,另外是体验一下大工程的编译时间。

一、环境简介
软件(包):7Zip、Visual Studio 2010、Visual Studio 2010 SP1补丁、Windows 8 SDK、June 2010 DirectX SDK等。
操作系统:Windows 7 x64(推荐使用64位系统)
硬盘空间:推荐60GB,至少30GB
内存:20GB(4GB应该差不多了)
CPU:I7 3.4GHz,4核8线程(CPU不好可能卡死)

二、环境搭建
1. 下载7Zip,用于tar包解压,官方站点为http://www.7-zip.org/
2. 下载Chrome源码tarball打包文件,下载地址为http://chromium-browser-source.commondatastorage.googleapis.com/chromium_tarball.html,这个包有2G多,下载时间可能较长;创建源码文件夹,中间不要有空格,如G:\ChromeDev\,使用7Zip解压tgz文件到该文件夹下,得到一个6GB的tar包,继续使用7Zip解压该文件到该路径下。Tar包里面还有几层文件夹,如G:\ChromeDev\chromium\chromium.r197479.tar\home\src_tarball\tarball\,可以直接提取里面的chromium文件夹到G:\ChromeDev\,这个过程时间可能较长,具体看机器的配置而定。
3. 安装depot_tools,下载地址为https://src.chromium.org/svn/trunk/tools/depot_tools.zip。解压(不要拖拽)之后,把文件夹路径添加到Path环境变量末尾, 在cmd下运行gclient,以便安装一些依赖组件,如Python、SVN等;
4. 打开cmd,切换到在src目录下(G:\ChromeDev\chromium\src),执行如下命令:

gclient sync --force

用于更新部分文件,这个过程也可能很耗时。
5. 安装Visual Studio 2010,完成之后安装Visual Studio 2010 SP1补丁。
6. 安装Windows 8 SDK,64位机器默认安装在C:\Program Files (x86)\Windows Kits\8.0,如果不是这个路径,需要设置环境变量:GYP_DEFINES=windows_sdk_path=”path to sdk”。这个过程是在线下载的,非常慢。
7. 修改Windows 8 SDK文件Include\winrt\asyncinfo.h,删除第66行的class关键字。
8. 安装June 2010 DirectX SDK,如果提示Error Code: S1023错误,需要先卸载Microsoft Visual C++ 2010 x64 Redistributable。
9. 在Chrome源码的src文件夹所在目录创建chromium.gyp_env文件(和.gclient在同一个目录),内容为

{'GYP_DEFINES': 'component=shared_library'} # use space to delimit additional defines.

10. 打开cmd,切换到src路径下(G:\ChromeDev\chromium\src),运行如下命令:

gclient runhooks --force

这个过程用于生成Visual Studio工程解决方案文件。
11. 申请Google API KEY,如果只是看代码,就没必要申请了,所以我也没弄了。

三、编译源码
打开G:\ChromeDev\chromium\src\chrome\chrome.sln解决方案文件(第一次打开可能需要很久,耐心等待),把chrome设置为启动项目,在chrome工程上点击右键选择build开始编译即可。现在可以出去转一圈,干点别的事情,如果机器配置不够好,可能需要几个小时不等。我的机器大概花了50分钟时间,成功编译Chrome。可执行程序位于src\build\Debug\Chrome.exe,打开即可运行。

几张截图:
编译时会创建大量进程,消耗大量CPU:
Chrome源码编译CPU占用
编译完之后,就可以用啦:
Chrome浏览器源码编译

欢迎关注《Chrome源码学习》系列文章。本人不保证文章准确性,如有错误欢迎指出!
欢迎请点击文章末尾的分享按钮,选择分享各类社交网站,你的分享是对我最大的支持。


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> Chrome源码编译
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



  1. 2013年8月31日21:27 | #1

    你内存20G?
    ca….
    还有闲的时候?

    [回复]

    代码疯子 回复:

    @tanglei, 是的,20GB,主要开虚拟机用。忙里偷闲嘛,深夜啊、周末啊,就耗在这些上面了

    [回复]

  2. b1u3sky
    2013年9月3日01:39 | #2

    不错不错,最近正好打算收个台式来编译一下chrome,笔记本真心吃不住 [em022]

    [回复]

  3. butterfly1311
    2013年11月12日12:57 | #3

    不知代码疯子用的什么配置的电脑?看起来很不错,我也想配一台的。

    [回复]

    代码疯子 回复:

    @butterfly1311, 戴尔 OptiPlex 9010 加了两根8G的内存条

    [回复]

  4. 壮壮熊
    2014年3月27日20:21 | #4

    楼主,能留个QQ吗?我自己看了你的文章好久,试过好几次,就是没有成功。里面的那些链接地址也有问题,求赐教

    [回复]

    代码疯子 回复:

    @壮壮熊, 过两天我加一下你,当前比较忙

    [回复]

    壮壮熊 回复:

    @代码疯子, 现在有时间可以指导一下吗?求指导。鄙人QQ,363606635

    [回复]

    代码疯子 回复:

    @壮壮熊, 加不了,直接把暗号发到我邮箱吧 stackexploit@[antispam]gmail.com

    [回复]

    壮壮熊 回复:

    @代码疯子,
    QQ:363606635
    答案:周钦雄
    大神多多指教
    [em014]

    [回复]

  5. bihui
    2014年5月8日07:59 | #5

    我是win7 64,也需要下载Windows 8 SDK 吗? 不过我已经开始下了,之前用的是winsdk7.1

    [回复]

    代码疯子 回复:

    @bihui, 我用的也是Win7 x64 就是装的Windows 8 SDK。你可以看官方的文档,看看使用winsdk7.1需要注意些什么

    [回复]

  6. iamwlb
    2014年5月12日09:07 | #6

    编译后的Chrome30多个G,该怎么打包成安装文件?

    [回复]

    代码疯子 回复:

    @iamwlb, 清理一下垃圾文件吧。

    [回复]

  7. 大大怪
    2014年8月10日15:50 | #7

    @代码疯子
    大哥能不能加我QQ指导一下
    我编译到一半就出错退出
    ninja: build stopped: subcommand failed.
    QQ571760219

    [回复]

    代码疯子 回复:

    @大大怪, 抱歉这个问题我也不知道怎么解决,建议你去网上搜索相关的解决方案

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.