2017-05-29

win10 下编译 Chromium

端午节闲的没事干,软路由又一时没思路,就来干点别的好了(……

那干点什么呢,想起Chromium 是开源的,那么他应该有源代码给开发者下载,那……要不编译一份试试,于是就干了

环境

CPU : Intel I5-6300HQ(一看就是笔记本……
内存 :2*8G DDR4
储存 : 据说巨耗费空间,而且文件又多又乱,就在机械硬盘上专门划了一块200G的空间来玩玩咯
梯子: 国情所需,在中国写个代码真不容易…… 建议是自己的梯子,毕竟……100G(多次下载失败然后重新下载了)的流量还是不少的……
系统 : win10 专业版(英文啊……
环境 : VS 2015 社区版
快一点的网络环境…… 有个千兆什么的最好了……实验室只有百兆,很勉强……还不是独占哎……

官方说明:

从下载源码到编译
windows 下 调试

说在前:

  • 建议使用英文版的操作系统,你说你都做windows 开发了,连win 10专业版都不买……
  • 目录不要使用中文,谁知道那是utf还是ANSI~
  • 官方是建议用cmd 进行一系列操作,但我还是更喜欢powershell 一些,熟练的工具也是生产力Orz

搭建环境

折腾一个环境就折腾了一天,还没好……

先去下载depot_tools,按照官方的要求,是要解压全部文件,而不是在资源管理器拖出来,有可能导致 .git 这个文件夹没被解压,这玩意也是基于git……,接着改PATH 加上整个文件夹例如C:/depot_tools 并且把它提到最前,在系统变量里加个 DEPOT_TOOLS_WIN_TOOLCHAIN 把它的值设置为0,防止 在配置环境的时候,顺手下载了VS……

嗯针对谷歌什么的都访问不了,代理是必须的,所以shadowsocks 搭建了一个socks5 的代理
然后就可以来各种翻墙了

depot_tools

修改 depot_toolsbootstarwinget_file.js 文件

xml_http = newActiveXObject("MSXML2.ServerXMLHTTP");

xml_http = newActiveXObject("MSXML2.ServerXMLHTTP.5.0");

xml_http.open("GET", url,false);

前面加上

xml_http.setProxy(2, "127.0.0.1:1080");

git 也得用代理

git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080

附上取消代理的方法

git config --global --unset http.proxy
git config --global --unset https.proxy

在自己的服务器上搭建了PPTP 某些软件包还是没办法走shadowsocks
然后安装 VS 2015.3 吧(官方给的建议,把所有有关win10, C++的都勾上,因为你也不知道你需要什么……

1 下载源码

先cd到你要放文件的地方 直接

mkdir chromium && cd chromium
fetch chromium

就是漫长的等待了………………

2 生成项目

下载结束后,先让它更新一下包

gclient sync

cd scr
然后执行

gn gen --ide=vs out\Default

到out\Default 就能看到有个all.sln的文件,用VS2015打开,又是漫长的等待……
项目很大,所以整理项目需要一定的时间
编译的话可以选择在VS中直接编译,调用的还是一样的东西,也可以使用命令

ninja -C out\Default chrome

首次编译会很慢……,很慢,如果有各种错误的话,对应着去查吧……

我第一次编译的时候出现了atl库的缺失,重新安装后还是没用,只能把整个代码删了和全部的环境都删了,然后用重新安装了一遍,最终编译大概花费了7个小时,编译的时候很吃CPU ,连接的时候就是通吃了,算是玩了玩吧

以后有兴致的话可以试着研究一下浏览器内核

-- EOF --

comments

如果无法加载 请将 disqus.com | disquscdn.com 加入代理