chrome是google的开源浏览器,现在使用者越来越多。google官网上提供最新的源码下载和编译指导。虽然google上的指导已经比较详细,但是还是难免会遇到些问,所以把我
成功编译chrome的过程分享一下:
1.我的编译环境:
win7旗舰版64bit
vs2010(google官网推荐使用vs2010编译,因为其它低版本的vs将会被抛弃在不久的将来)
2.编译准备:
安装好vs2010后,还需要安装以下补丁:
vs2010 sp1(http://download.microsoft.com/download/E/B/A/EBA0A152-F426-47E6-9E3F-EFB686E3CA20/VS2010SP1dvd1.iso),直接下载iso,不要在线安装,否则会慢死你。
win7 sdk (http://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341AC6BCE/GRMSDKX_EN_DVD.iso)同样下载iso.
DirectX sdk(http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe)同样下载iso.
依次安装下载好的3个文件。
把win7 SDK和DirecvX sdk添加到VS2010的头文件包含INCLUDE和LIB目录:
在以前的VS中,可以通过工具-选项,附加包含目录,VS2010中的添加方法略有改变,有2种添加方法:
1.手工添加:
C:\Users\Mark\AppData\Local\Microsoft\MSBuild\v4.0在这个目录下有包含目录的配置文件:(Mark是我的用户名)
Microsoft.Cpp.Win32.user和Microsoft.Cpp.x64.user分别是构建32位和64位的工程的目录,将刚刚安好的SDK的include和lib目录添加进去。
添加好后的效果如下:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludePath>$(DXSDK_DIR)\include;$(IncludePath)</IncludePath>
<LibraryPath>$(DXSDK_DIR)\lib\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
</Project>
2.通过vs2010的View->Property Manager添加,google不推荐这样做,但是我是这么做的貌似没什么问题。
3.获取源码和depot_tools.
以前的chrome源码中会有sln工程文件,直接用vs2010打开编译即可。新的源码不再提供sln工程文件,而是提供depot_tools工具来生成(是一些bat和python脚本)
源码下载地址:http://chromium-browser-source.commondatastorage.googleapis.com/chromium.r139275.tgz 1个多G
depot_tools下载地址:https://src.chromium.org/svn/trunk/tools/depot_tools.zip
google提供通过svn的方式从google版本库里获取最新源码,这种方式太慢,不用。
解压源码和depot_tools.将depot_tools的目录添加到PATH中。
可以看到depot_tools文件夹中有gclient.bat这个批处理,它会下载一系列依赖工具和更新源码。这些操作太浪费时间而且有可能失败。所以直接下载依赖工具
下载svn服务端和python26(不要用其它版本),下载安装后将bin目录添加到PATH中。
然后在命令行中切换到源码的目录src目录,执行gclient.py runhooks --force.等待大约15分钟,在src/hrome目录下就会生成许多VS工程文件,包括chrome.sln
最后 用vs2010打开chrome.sln,生成解决方案,生成过程中要耐心,最好关闭其它程序,我的macbook pro(i7+4G内存)居然用了4个多小时才生成成功,可能是我当时
开的程序太多了。然后在src//build/debug目录下(我生成的debug版本)就可以看到chrome.exe了,双击它,chrome浏览器就运行成功了。
更多信息,请参考:http://www.chromium.org/Home