chromium源代码下载(Win7x64+VS2013sp2, 39.0.2132.2)
chromium源代码下载(Win7x64+VS2013sp2, 39.0.2132.2)
http://www.aichengxu.com/diannao/1000251.htm
前后折腾了四天,当中好多次都郁闷得想放弃,不过还好坚持了下来,也最终克服和因难。反思如此艰难的原因,一是因为英文不太好,所以只能找中文的文章来借鉴;二是中文的文章也大都过时了。所以,尽管通宵得身体都发抖了,还是坚持把操作成功的过程记下来。chormium的结构转变得太快了,说不定后天我的方法就过时了,越早写出来,也许能更多地帮到他人。
不得不提的是,正是更新下载经验日期最近的人给我的帮助最大,而两、三年前的人把我坑得最苦。。。。。
这里有两篇目前值得借鉴的文档,放在这里,互相印证吧:
http://blog.csdn.net/wangcheng711/article/details/38419869
http://blog.csdn.net/glunoy/article/details/23591047
下面开始我的经验讲述(所有列出命令在cmd.exe下执行):
一、预热
1.安装win7 64位与vs2013 sp2(毕竟我只有这个环境的经验,其他环境只能你自己摸索了),准备至少15G的硬盘空间(如果你还要编译的话,x4吧,呵呵,反正我有200G。。)
2.学会使用cmd命令cd和set.
3.学会设置环境变量,请自行百度;需要注意的是,在cmd.exe中使用set设置的环境变量并没有真的保存,也就是说,如果你把这个cmd窗口关了,原来set的环境变量需要重新设置(至少我电脑上是这样的,具体的可以自行测试)
4.决定要下载的版本号。可以找一个稳定版的chrome浏览器,获得它的版本号。最好不要用最新的,因为下载后,不一定能编过,到时候就头疼了。(我第一次是下载的trunk的,结果坑了,最后是下载release的成功了,所以我也不知道trunk的代码是不是也可以像下面我说的一样下载)
二、开始配置行动
1.下载depot_tools.https://src.chromium.org/viewvc/chrome/trunk/tools/,这个目录下有一个depot_tools.zip的文件,点一下就可以下载了。下载后,解压到某个位置。我就放在D:\下,所以生成了D:\depot_tools文件夹,把这个文件夹路径(D:\depot_tools)加入PATH环境变量。
2.新建一个文件夹,注意最好是英文名称且无空格。上面depot_tools的文件夹也是。像我就新建了e:\chromium。然后cd到此文件夹下,执行gclient config
http://src.chromium.org/svn/releases/39.0.2132.2,这里最后面应该是你自己选择的版本号。可以在
https://src.chromium.org/viewvc/chrome/releases/ 查看所有release版本。
3.上述命令会下载python276并安装,下载SVN并安装,下载Git并安装。但是国内是联不上Git所在的服务器的,所以要么改脚本,要么上VPN。我花了18块买了一个月的VPN,Git也下好了,就是安装了好几次都会出错,在网上搜索了一大圈,也没找到办法。不管了,反正也不知道是干什么的,有SVN应该就够了。进行下一步。
4.执行gclient sync。有的人说是gclient sync --force,反正我是用的前面的,--force参数不知道有什么用。然后就是漫长的下载,速度还是很快的,4M网速完全可以撑满。这里要下载大约10G的代码,以及win8SDK等很多东西。其他人都说有的东西可以不用下载的(4G多),但是要改脚本。我懒得改了,就让它下吧。其间断了几次网,反复执行了好几次gclient sync。证明反复执行是没有问题的,不用担心^_^(我不会告诉你我反复执行是有多害怕,害怕会全部重下。。)。最后,可以看到已更新到version:xxxxx。呃,其实是英文,我没记住。但是最后四个字母是"Done"。所以如果你没看到done,就再执行下命令吧。
5.漫长的下载后,我们终于见到曙光了。但是先别急。打开e:\chromium\src\build目录下的common.gypi。搜索msvs_disabled_warnings。有一个地方禁用了"很多很多"警告,我们也在这里模仿加上4996, 4067, 4800, 4251 保存关闭。
6.要开始生成.sln文件了。但是其实这步是最难的。让我在网上找了好几个小时的解决办法。
你现在应该还在e:\chromium的目录,再进一层到src,依次执行命令:
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2013
set GYP_DEFINES=component=shared_library
set GYP_GENERATORS=ninja,msvs
set USE_AURA=1
gclient runhooks
注意最后一个命令:set GYP_GENERATORS=ninja,msvs,原本我看别人的文档是set GYP_GENERATORS=msvs,还专门强调了,但是我这样用,就会出现错误:
Traceback (most recent call last): File "src/build/landmines.py", line 227, in <module>
sys.exit(main())
....
完全找不到头绪,也是我运气好,尝试了设置了set GYP_GENERATORS=ninja,msvs,然后执行gclient runhooks,竟然又下载安装了一些东西,就成功了。想来就是chromium在最近又有了改动。
7.上面的命令执行完后,就可以找到src\chrome下面的chrome.sln,进行编译了。我用vs2013打开后,有900多个工程。编到200多时还卡住了,没有成功。最后找了一个较小的sln项目,改了几个错误,倒是成功了。
最主要出现的错误是:a.将警告视为错误,没有生成obj文件,这个只要将"将警告视为错误"改为否就行了,可以百度;
b.在当前页(xxx)下无法....请保存为Unicode文件,这个只要对报错的文件CTRL+A,然后点击VS2013的文件->高级保存选项,保存为Unicode(1200)就可以了。
c.无法访问的代码。这是一个4级警告,把警告级别调为3级就可以了。应该可以设置脚本吧,不然900多个,改到何年何月?不过我还不会。。
8.第六步完成后,理论上src等文件夹图标上应该是有一个绿色的小勾的。如果没有,选中此文件夹右键,会有SVN菜单“更新工作区XX”,更新下就可以了。
以上就是我的大部分经验,希望可以帮到某个正在郁闷的人~
睡觉去Orz
chromium源代码下载(Win7x64+VS2013sp2, 39.0.2132.2)的更多相关文章
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转
效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载]) 本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较 ...
- Android源代码下载方法具体解释
作者:张星 相信非常多下载过内核的人都对这个非常熟悉 git clone git://android.git.kernel.org/kernel/common.git kernel 可是这是在曾经,如 ...
- jQuery粘性跟随滚动条滚动的导航栏源代码下载
jQuery粘性跟随滚动条滚动的导航栏源代码下载 作者:网页模板 大小:0.005MB 点击次数:3494 发布时间:2014-03-07 12:55 分享到:0 特效介绍 jQuery粘性跟随滚动条 ...
- WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]
原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码 ...
- AppBox_v2.0完整版免费下载,暨AppBox_v3.0正式发布!
文章更新: AppBox v6.0中实现子页面和父页面的复杂交互 AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox ...
- 文顶顶iOS开发博客链接整理及部分项目源代码下载
文顶顶iOS开发博客链接整理及部分项目源代码下载 网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程 ...
- 基于视觉的Web页面分页算法VIPS的实现源代码下载
基于视觉的Web页面分页算法VIPS的实现源代码下载 - tingya的专栏 - 博客频道 - CSDN.NET 基于视觉的Web页面分页算法VIPS的实现源代码下载 分类: 技术杂烩 2006-04 ...
- WCF技术剖析之二十八:自己动手获取元数据[附源代码下载]
原文:WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 元数据的发布方式决定了元数据的获取行为,WCF服务元数据架构体系通过ServiceMetadataBehavior实现了基于WS-ME ...
- mysql+ssh整合样例,附源代码下载
项目引用jar下载:http://download.csdn.net/detail/adam_zs/7262727 项目源代码下载地址:http://download.csdn.net/detail/ ...
随机推荐
- (vue01)vue环境搭建
腾讯,百度,网易....这么大媒体平台咋老推送这么lower的信息? 你们不缺钱啊....我这么善良的孩子都别你们带坏了 强烈鄙视马化腾 强烈鄙视李彦宏 参考地址: https://segmentfa ...
- Spark搭档Elasticsearch
Spark与elasticsearch结合使用是一种常用的场景,小编在这里整理了一些Spark与ES结合使用的方法.一. write data to elasticsearch利用elasticsea ...
- word2vec是如何工作的?
如何有效的将文本向量化是自然语言处理(Natural Language Processing: NLP)领域非常重要的一个研究方向.传统的文本向量化可以用独热编码(one-hot encoding). ...
- [leetcode-648-Replace Words]
In English, we have a concept called root, which can be followed by some other words to form another ...
- HDU 3696 Farm Game(拓扑+DP)(2010 Asia Fuzhou Regional Contest)
Description “Farm Game” is one of the most popular games in online community. In the community each ...
- 【python爬虫】对喜马拉雅上一个专辑的音频进行爬取并保存到本地
>>>内容基本框架: 1.爬虫目的 2.爬取过程 3.代码实现 4.爬取结果 >>>实验环境: python3.6版本,pycharm,电脑可上网. [一 爬虫目 ...
- PAT 1005 继续(3n+1)猜想
https://pintia.cn/problem-sets/994805260223102976/problems/994805320306507776 卡拉兹(Callatz)猜想已经在1001中 ...
- IDEA里面添加lombok插件,编写简略风格Java代码
在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO; 关于lomb ...
- RabbitMQ 的行为艺术
RabbitMQ 的行为艺术 目录 简介 环境搭建 示例一:简单的 Hello World 示例二:发布/订阅模式 尝试发现 - 新物种 EasyNetQ 简介 RabbitMQ:一个消息系统,基于 ...
- BZOJ4475 JSOI2015子集选取(动态规划)
数据范围过大说明这个题和组合一点关系也没有,答案基本上肯定是ab的形式了.暴力打表感觉不太好写,找到当年的题面发现还有个样例是6 40 401898087,于是暴力找ab=401898087的数,发现 ...