在 Windows Server 2008 R2 下用 Visual Studio 2010 编译 Chrome 与 WebKit Chromium Port

Ref:http://www.chromium.org/developers/how-tos/build-instructions-windows

Ref:http://trac.webkit.org/wiki/Chromium

环境搭建:

1、安装 VS2010 SP1,下载地址:http://go.microsoft.com/fwlink/?LinkId=210710

2、安装 Windows 7.1 SDK(x64),下载地址:http://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341AC6BCE/GRMSDKX_EN_DVD.iso

3、安装 DirectX SDK(DXSDK_Jun10),下载地址:http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=3021d52b-514e-41d3-ad02-438a3ba730ba&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fA%2fE%2f7%2fAE743F1F-632B-4809-87A9-AA1BB3458E31%2fDXSDK_Jun10.exe

4、下载 depot tools:https://src.chromium.org/svn/trunk/tools/depot_tools.zip

5、下载后,将 depot tools 设置到环境变量中,注意:加到最后,不是开始

6、安装 Perl,编译 WebKit Chromium Port 时需要用。

编译 Chrome:

1、下载源代码包:http://chromium-browser-source.commondatastorage.googleapis.com/chromium_tarball.html

2、将源代码包解压缩到没有空格的路径中,最好用 GnuWin32 工具,也可以用 7-Zip。解压后,将 src 目录剪切出来。

3、在 src 下执行两个命令:set GYP_MSVS_VERSION=2010;gclient sync,来更新下本地代码,同时自动更新 depot tools。

4、打开 src/chrome/chrome.sln 编译。这时有个工程会出现错误,原因是 DirectX SDK 目录设置的问题,好像是 glue,将相关的头文件与库目录添加到该工程中。

5、视情况选择需要编译的工程,可以全部编译,也可以只编译 chrome。只编译 chrome 会节省很多时间。

编译 WebKit Chromium Port:

1、下载源码包:http://nightly.webkit.org/files/WebKit-SVN-source.tar.bz2

2、解压到不含空格的目录,解压时不要使用 WinRAR,最好使用 tar vfxz filename 来解压。

3、在源码目录执行:svn update,更新本地代码。

4、产生 VS2010 工程,在源码目录执行:set GYP_MSVS_VERSION=2010;perl ./Tools/Scripts/update-webkit-chromium --force。该命令会下载 chromium webkit 依赖的程序,并产生工程与解决方案。

5、打开 Source/WebKit/chromium/WebKit.sln,并编译。

备注:

C:\Users\mengchao\AppData\Local\Microsoft\MSBuild\v4.0

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ExecutablePath>$(ExecutablePath)</ExecutablePath>
<IncludePath>$(DXSDK_DIR)\include;D:\wtl\Include;$(IncludePath)</IncludePath>
<ReferencePath>$(ReferencePath)</ReferencePath>
<LibraryPath>$(DXSDK_DIR)\lib\x86;$(LibraryPath)</LibraryPath>
<SourcePath>$(SourcePath)</SourcePath>
<ExcludePath>$(ExcludePath)</ExcludePath>
</PropertyGroup>
</Project>

发表回复