官网描述

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 --nohooks --no-history chromium

或者下载我的打包好的源码镜像文件

PS: 20151126,正在下载最新的,完成后打包上传. windows下的压缩包

第七步, 编译

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

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

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小时.

源码编译Chrome的更多相关文章

  1. 从源码编译Chrome(chromium)

    转自:http://www.udpwork.com/item/13827.html 官网描述 http://www.chromium.org/developers/how-tos/build-inst ...

  2. CEF源码编译

    CEF的构造说明:https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding chromium的源码地址:https://c ...

  3. zstack源码编译安装(1.7.x版本)

    图片没粘贴过来,请看本人gitbook吧https://www.gitbook.com/book/jingtyu/how-to-learn-zstack-code 运行环境 zstack的安装方式有很 ...

  4. Android 5.0源码编译问题

    如果是自己通过repo和git直接从google官网上download的源码,请忽略这个问题,但是由于google在国内被限制登录,通过这一种方法不是每个人都能download下来源码,通常的做法就是 ...

  5. Android stdio Apktool源码编译

    Android Apktool源码编译 标签(空格分隔): Android Apktool 源码编译 需求 习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成 ...

  6. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  7. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  8. World Wind .NET源码编译问题处理

    World  Wind  .NET源码编译问题处理 下载了World_Wind_1.4.0_Source源码(http://worldwindcentral.com/wiki/NASA_World_W ...

  9. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

随机推荐

  1. 自定义NSLog宏输出

    根据编译条件,Debug时输出带行号的日志,Release时关闭日志 /* XCode LLVM XXX - Preprocessing中Debug会添加 DEBUG=1 标志 */ #ifdef D ...

  2. placeholder在ie浏览器里不显示的问题解决

    <script type="text/javascript"> if( !('placeholder' in document.createElement('input ...

  3. iOS - LocalCache 本地数据缓存

    1.自定义方式本地数据缓存 1.1 自定义缓存 1 沙盒路径下的 Library/Caches 用来存放缓存文件,保存从网络下载的请求数据,后续仍然需要继续使用的文件,例如网络下载的离线数据,图片,视 ...

  4. html块级元素和内联元素小结

    Block element 块级元素 顾名思义就是以块显示的元素,高度宽度都是可以设置的.比如我们常用的<div>.<p>.<ul>默认状态下都是属于块级元素.块级 ...

  5. Mysql 允许null 与 default值

    分为下面4种情况: 1.允许null, 指定default值. 2.允许null, 不指定default,这个时候可认为default值就是null 3.不允许null,指定default值,不能指定 ...

  6. JavaWeb学习总结(十四)--Apache的DBUtils

    一.commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化 ...

  7. Data Deduplication in Windows Server 2012

    https://blogs.technet.microsoft.com/filecab/2012/05/20/introduction-to-data-deduplication-in-windows ...

  8. RPC的学习 & gprotobuf 和 thrift的比较

    参考 http://blog.csdn.net/pi9nc/article/details/17336663 集成libevent,google protobuf的RPC框架 RPC(Remote P ...

  9. DHCP 工作原理

    DHCP 详解 DHCP 工作原理 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server), ...

  10. 网络性能测试工具iperf详细使用图文教程【转载】

    原文:http://blog.163.com/hlz_2599/blog/static/142378474201341341339314/ 参考:http://man.linuxde.net/iper ...