从源码编译Chrome(chromium)

转自:http://www.udpwork.com/item/13827.html

官网描述

http://www.chromium.org/developers/how-tos/build-instructions-windows

为啥还要写这篇博客

  1. 太久没在这里写博客
  2. Chrome编译的教程,网上太多太多了,但各种错误(也许对他们当时的版本来说并不是错误)
  3. 好多博客没有把问题说清楚

源码打包下载(vbox的系统镜像文件)

http://pan.baidu.com/s/1ntCHH1Z密码:nbrm

如果失效请留言

第一步,修改系统语言

切换系统语言为英文!!!!!!

官网原文:

You must set your Windows system locale to English, or else you may get build errors about "The file contains a character that cannot be represented in the current code page."

不改?绝对的坑!! 报各种编码错误,最后我重新安装win7旗舰版!!

必须是x64系统!! 想想内存需求也应该明白!

You must have Windows 7 x64 or later. x86 OSs are unsupported.

再提醒一句, 安装所有重要的系统补丁, 用windows update服务安装!!! 里面包含IE11,必备. – 这一步只是为了保险起见.

第二步,安装VS2013

官网的要求是VS2013, 不是2008,不是2010,不是2012, 当前最新的要求是2013!!

You must build with Visual Studio 2013 Update 4, no other versions are supported.

http://www.visualstudio.com/downloads/download-visual-studio-vs

网络安装或下载iso(6G左右) 均可, 只需要安装C++套装,其他一概取消.

提示: 最后一步安装update4补丁包的时候(也就是最后的阶段),会很慢很慢,很慢,不知道为啥,反正很久,等吧.

第三步,科学上网

往下的步骤都需要科学上网,稳定的科学上网,可靠的科学上网,别怪我没提醒你git clone是不支持断点续传的!!!

第四步,添加环境变量

系统的环境变量加入 DEPOT_TOOLS_WIN_TOOLCHAIN 值为0

第五步,安装depot_tools

下载页面:http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up下载地址:https://src.chromium.org/svn/trunk/tools/depot_tools.zip

解压到某个盘的根目录,别带中文,特殊字符等一切蛋疼的东西, 修改系统的环境变量, 把depot_tools的路径加入到PATH

启动cmd, 随便找个目录,执行

gclient

会自行下载python,git,svn等等依赖工具, 系统已经安装的python,git是不认的!!!

第六步,下载源码

重新打开一个console(cmd或者ComEms均可)

在一个剩余空间60G以上的盘, 严重建议是SSD, 起码是SSD加速盘或混合硬盘

建一个文件夹,叫chrome_build, 或任何你喜欢的英文名,别中文啊啊啊啊,假设为 W:\chrome_build

W:
mkdir chrome_build
cd W:\chrome_build

经典做法, 直接fetch

fetch chromium #会很久很久

省流量的方法

fetch chromium # 出现sync字样后, 终止(ctrl+c)

gclient sync --no-history --force # 需要比较长的时间了
# 如果断开了,重新执行gclient语句就可以了,不需要再执行fetch.

别以为sync只是下载源码, 最后还会下载nacl的sdk的!!

第6步补充说明, 关于下载Webkit

正常下载的话, 下载webkit会很久很久,因为是整个历史都下载下来.

下面介绍的做法,需要修改DEPS文件, 比较折腾, 自行想象吧.

看到

[0:13:08]   src/third_party/WebKit

的时候,可以终止gclient

然后,执行:

# 用notepad++ 打开src/DEPS,找到webkit_revision的配置
cd src/third_party/
git clone --depth=10 https://chromium.googlesource.com/chromium/blink.git WebKit
#大概下载360mb

Cloning into ‘WebKit‘...
remote: Sending approximately 5.08 GiB ...
remote: Counting objects: 123641, done
remote: Finding sources: 100% (123641/123641)
remote: Total 123641 (delta 37772), reused 78823 (delta 37772)
Receiving objects: 100% (123641/123641), 360.61 MiB | 444.00 KiB/s, done.
Resolving deltas: 100% (37772/37772), done.
Checking connectivity... done.
Checking out files: 100% (144812/144812), done.

# 执行git rev-list找个可用的rev
git rev-list  HEAD
# 然后找出倒数第二个commit的sha1, 修改webkit_revision的值
# 回到根目录,重新开始gclient
gclient sync --no-history --force

继续长时间的等待, 真的很久很久, 洗洗睡觉吧.

PS: v8也很慢, 见仁见智吧.

第七步, 编译

编译可以说是最简单的一步

先生成各种文件(可以省略)

gclient runhooks

执行编译, out/Debug可以改成out/Release等等.

cd src
ninja -C out/Debug chrome

输出:

ninja: Entering directory `out/Debug‘
[541/19418] RULE Assembling nacl_switch_unwind_win.asm to obj\native_client\sr...ice_runtime\arch\x86_64\service_runtime_x86_64.gen\nacl_switch_unwind_win.obj.
 Assembling: nacl_switch_unwind_win.asm
[19418/19418] STAMP obj\chrome\chrome.actions_rules_copies.stamp

19418个编译任务, 193xx的时候来开始链接,很慢, 我的笔记本电脑i7-3630, 8G内存, 32G SSD加速的普通机械硬盘, 编译了2小时.

编译完成后可以到 out/Debug目录下找到chrome.exe, 启动一下就是你编译的Chrome了.

具体怎么打包成安装文件,还没找到方法.

原文链接: http://wendal.net/2015/02/04.html

时间: 2024-12-23 16:24:00

从源码编译Chrome(chromium)的相关文章

CEF源码编译

CEF的构造说明:https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding chromium的源码地址:https://chromium.googlesource.com/chromium/src.git cef的源码地址:https://bitbucket.org/chromiumembedded/cef/src/2357?at=2357 CEF源码中的文件CHROMIUM_BUILD_COMPATIBILITY.t

安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程

原文                   http://blog.csdn.net/zhaoxy_thu/article/details/18883015 本文主要对从安卓系统源码中抽取出WebView相关源码进行单独编译的流程进行说明. 编译流程说明 由于WebView包含两个部分,一部分是上层的Java代码,包括若干Java类,用于对外提供接口:另一部分是下层的C++代码,包括两个so库(libwebcore.so和libchromium_net.so),用于网页的解析和渲染.两个部分之间通

源码编译MYSQL遇到的几个小问题

闲来无聊,顺手练习一下好久没碰过的MYSQL,于是决定源码编译安装MYSQL-5.7.11,练习不打紧,出了好多问题,于是乎赶紧在这里总结一下: 先下载的编译器:cmake-2.8.12.2-4.el6.x86_64.rpm   MYSQL源码包:mysql-boost-5.7.11.tar.gz 接下来进行配置,编译,安装三部曲:(区别是我把数据目录单独放在了另外一张虚拟硬盘上-DMYSQL_DATADIR=/mydata/data   -DMYSQL_UNIX_DATA=/mydata/da

马哥linux学习笔记:源码编译安装

由于rpm包在作者制作封装的时候已经把程序的一些特性固定了,如果我们根据自己的需求,需要运用程序的一些没有普适性相关特性,就需要下载程序的源码手动编译安装了,这里只是简单的介绍一下C代码的程序包编译安装方法. 为了能更直观的看到源码编译安装的过程,我演示一下在centos7.2环境中编译安装httpd2.2: 首先,编译的前提是得有称手的工具及环境了,编译c源代码就需要用到开发工具,make,gcc了,环境就需要开发库跟头文件了,如果系统中没有这些,就需要yum安装了. 这里我运行yum gro

烂泥:mysql5.0数据库源码编译安装

本文首发于烂泥行天下. 本次实验的mysql.OS相关信息如下: Mysql:5.0.96 OS:centos 32 bit 最近公司要上新的业务,指明数据库使用的是mysql5.0版本.如果是使用rpm包安装的话,那就很简单了.直接使用yum安装即可,命令如下: yum –y install mysql mysql-server Yum方式安装完毕后,直接启动mysql数据库服务即可.如下图: 这样基本上就可以了. 但是这样安装mysql数据库,没有进行定制.比如mysql数据库的数据文件存储

ubuntu 源码编译安装最新的vim 8.0

为什么要源码编译安装VIM? 因为我要安装ycm,ycm要求vim版本为8.0 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 1,核对系统版本 [email protected]:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: tr

详解LAMP源码编译安装

实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MySQL 四.编译安装 PHP 测试LAMP搭建开源数据web管理程序phpMyadmin 详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装L

Nginx 源码编译安装

Nginx 源码编译安装环境 Centos7 Nginx1.8.1    下载地址:http://nginx.org/download/ 选择自己想要的版本 我这边使用1.8.1,下载地址:http://nginx.org/download/nginx-1.8.1.tar.gz 1.编译前安装环境 [[email protected]_30 ~]# yum groupinstall "Development Tools" -y                #安装开发工具包 [[ema

centos 6.5源码编译安装subversion 1.8.10

一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网:http://svn.apache.org/repos/asf/subversion/trunk/INSTALL 源码下载:http://archive.apache.org/dist/subversion/ 源码编译subversion依赖许多别的工具,比如:apr.apr-util.libto