Quantcast
Channel: 程序人生 »代码疯子
Viewing all articles
Browse latest Browse all 59

Chrome源码编译

$
0
0

还是在四月份的时候,一时心血来潮下载下来了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源码编译
作者:代码疯子


Viewing all articles
Browse latest Browse all 59

Trending Articles