windows7 (64位)下 VS2010 编译chrome 15xxx版本
---------------------------------------------------------------------------------------------------------
1.我的编译环境:
硬件配置: I7 2600k 4核8线程 8G内存 win7旗舰版64bit 编译工程的空间至少在20G以上比较好.
源码压缩包约占1.3G,解压后约4.5G,编译后约占20G ,其中解压文件需要20分钟,总共689个工程,编译DEBUG版本约 1小时15分钟.
vs2010(google官网推荐使用vs2010编译,因为其它低版本的vs将会被抛弃在不久的将来) 建议机器的配置越高好, 否则就是摧残自己!
2.编译准备:
安装好vs2010后,还需要安装以下补丁:
vs2010 sp1 VS2010SP1dvd1.iso下载: 链接: http://download.microsoft.com/download/E/B/A/EBA0A152-F426-47E6-9E3F-EFB686E3CA20/VS2010SP1dvd1.iso
win8 sdk 安装(先下载sdksetup.exe, 然后就慢慢的等它安装完): 链接: http://msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx
DirectX sdk DXSDK_Jun10.exe 下载iso. 链接: http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe
注意:
安装directX sdk 出现EORRS CODE S1023
到添加删除程序里面把Microsoft Visual C++ 2010 x86/x64 redistribuable - 10.0.xxxx 大于 30319 项目删除掉就可以了
依次安装下载好的3个文件。
把win7 SDK和DirecvX sdk添加到VS2010的头文件包含INCLUDE和LIB目录: (注意:装好VS2010后要先启动一下vs2010 IDE ,否则看不到 C:\Users\{your name}\AppData\Local\Microsoft\MSBuild\v4.0 这个目录) 手工添加:
C:\Users\cdamo\AppData\Local\Microsoft\MSBuild\v4.0在这个目录下有包含目录的配置文件:(cdamo 是我的用户名) 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>
<LibraryPath>$(DXSDK_DIR)\lib\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
</Project>
3.下载chrome源代码 下载链接:http://chromium-browser-source.commondatastorage.googleapis.com/chromium.r158977.tgz,解压在一目录下,(注意目录路径中不要包含空格)
4.获取源码和depot_tools.
a.下载depot_tools. 链接: http://src.chromium.org/svn/trunk/tools/depot_tools.zip
b.安装depot_tools. 解压后,设置depot_tools的路径到PATH环境变量中. 执行gclient.bat文件,等待svn和python的安装完成.
c. cd [源代码解压后的目录]\src\chrome 目录下(这步很重要), 执行gclient runhooks –force ,生成 chrome.sln.此过程需等1-2分钟.
5. 编译前准备:
用文本编辑器打开c:\program files(x86)\windows kits\8.0\include\winrt\AsyncInfo.h
将 #line 66行的 enum class AsyncStatus{ 改为 enum /*class*/ AsyncStatus{ 保存后退出
6.编译过程: 上面步骤全部做完后 在chromium的源码chrome目录下可以看到chrome.sln工程文件,用VS2010打开它就可编译了. 整个编译过程很费时,此时你可以去做点别的事情.
(提醒:)在i7 2600K 8G内存配置下大约需编译1小时 20分钟, 有些测试工程无法编译成功, 在src\build\Debug目录下能找到chrome.exe 就说明主体工程基本编译成功。
主要参考链接:
http://www.chromium.org/developers/how-tos/build-instructions-windows
http://blog.csdn.net/xt_xiaotian/article/details/5672454