导航

[原]chromium编译初体验

Posted on 2010-09-29 18:50  maconel  阅读(3515)  评论(0编辑  收藏  举报

chrome源码的开源项目叫做chromium.



先列几个资源:
源码和depot_tools都可以从svn得到,感兴趣的话,自己去找吧。
杯具的是www.chromium.org需要FQ才能访问,还好build.chromium.orgsrc.chromium.org可以直接访问。


编译还是比较简单的,假如你使用vs2005 + winxp,那么按以下步骤做即可:

1.下载chromium源码和depot_tools.

2.安装vs2005 + sp1.

3.安装补丁KB935225KB947315KB949009KB946310, and KB971090.

4.安装Windows 7 SDK.

5.装完上面的windows 7 SDK后,在开始菜单中会多出他的菜单项,执行其中的Windows SDK Configuration Tool.
3、4、5装完,代码应该也下完了吧。

6.在源代码路径下被svn管理的任意地方,比如src目录下,执行gclient runhooks --force,生成chrome.sln.
gclient是depot_tools中的一个批处理,可以把depot_tools加到环境变量中,然后到src下执行上面那条命令。执行后,它会下载svn命令行程序和python24,然后生成chrome.sln.

7.打开chrome.sln,编译就可以了。
如果直接编译整个sln,会有一些错误,因为xulrunnner-sdk的h文件找不到。不知道google为什么不把h文件一起放到源码目录中。不过没关系,编译出的chrome.exe还是可以运行的。
为了加快编译速度,可以只编译chrome工程,这样会同时编译它所依赖的其他工程。其他的testing等工程不编译,速度可以提高很多,这样大概一共要编译197个工程,时间要1个多小时。
官方网站上还列出了几个提高编译速度的方法,比如关掉杀毒软件,增加内存到8G之类的-_-!. 有条件的tx可以试下。
另外也可以通过命令行的方式编译:
C:\trunk\src\chrome> devenv /build Debug chrome.sln /project chrome.vcproj

8.现在编译好的程序就在chrome/Debug或Release下,执行chrome.exe就可以运行了。


如果你用的是vs2008,或vista系统,也是可以编译的,只是多装几个补丁,增加几个设置。具体方法请参看官方编译说明。


补充2点:
1.今天想在一台新电脑上编译,发现第6步会失败。提示下载svn时超时,想必又是公司网络的问题。其实我电脑是svn和python都装了,而且我也不需要更新代码,只是想生成sln而已,应该能绕过去。所以看了下gclient.bat,发现内部做了下载的动作,但最后是调用gclient.py,因此,不需要执行bat,自己直接调gclient.py就好了。在src下执行:python "xxx\depot_tools\gclient.py" runhooks稍等片刻,就生成了chrome.sln。
2.编译Purify版本顺利通过,但编译Release版本总是链接出错,错误信息是:chrome.dll : fatal error LNK1106: invalid file or disk full: cannot seek to 0x1914890经过搜索,找到微软有篇相关文章:http://support.microsoft.com/?scid=kb;en-us;888326&x=7&y=17大概原因就是IBM的ClearCase回和link.exe有冲突,解决方法是在link时,使用参数"/expectedoutputsize:50000000",在vs里,就是在工程属性-Linker-Command Line里,在下面的文本框里加是这个编译参数。如果还不行,可以试着增加这个值,最高到75000000。我使用这个方法,可以编程成功。