官网描述

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. hdu 4223 Dynamic Programming?

    Dynamic Programming? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  2. Domion OA 日记

    我现在使用的是IBM的 Lotus Dimion 8.5 以下内容是个人的浅显了解,在此记录下,已作为后续记录的翻看 第一次接触文档型数据库,确实颠覆了我对数据模型的认知,我之前一直用sql的 文档型 ...

  3. const 与 readonly 知多少

    const与readonly 很像,都是将变量声明为只读,且在变量初始化后就不可改写.那么,const与readonly 这两个修饰符到底区别在什么地方呢?其实,这个牵扯出C#语言中两种不同的常量类型 ...

  4. css样式 浏览器的读取顺序

    css样式 浏览器的读取顺序 例: tbody tr td{} 浏览器是先查找td,然后去找td tr,然后去找td tr tbody div p{}和div>p{}的区别 .div p{} 是 ...

  5. views中的公共代码放在一起

    在views中建立一个common.php文件,然后把views中的index.php和about.php公共代码放进去 <!doctype html> <html lang=&qu ...

  6. JCO事务管理

    /* * 标准对账单过账 * @account 标准对账单号 * @year 年度 */ public List<String> doAccountStatmentPost(String ...

  7. SQL.变量、运算符、if、while

    变量: SQL语言也跟其他编程语言一样,拥有变量.分支.循环等控制语句. 在SQL语言里面把变量分为局部变量和全局变量,全局变量又称系统变量. 局部变量: 使用declare关键字给变量声明,语法非常 ...

  8. 12 Using_explain_plan

    The row source tree is the core of the execution plan. The tree shows the following information: An ...

  9. linux清空文件等有用的指令

    1).    > filename 2).    :> filename 3).   echo "" > filename  (文件大小被截为1字节) 4).   ...

  10. ListFragment

    ListFragment http://developer.android.com/reference/android/app/ListFragment.html extends Fragment C ...