vs2019编译器在哪(在 Win7 下使用 VS2005 编译 Chrome)
分类:
C++ 第三方开源库
2010-06-15 16:17 4496人阅读 评论(4) 收藏 举报在 Win7 下使用 VS2005 编译 Chrome
Chrome 是浏览器的新秀 ,无论从启动速度 、Js 执行速度 、更新速度来说 ,都是最佳的 。最主要的是,Chrome 还是开源的 ,拿来研究一定不错 。本文所编译的 Chrome 版本为 Revision:49506(2010.06.11) ,Chrome 在 Google 内部的开发名是 Chromium ,如下都是用开发名 Chromium。
本文先讲述怎样准备编译环境 ,然后下载官方代码 ,最后进行编译 。
一 、准备编译环境
从官网上知道 , Chromium是可以使用 VS2005 进行编译的 ,所以本文也将使用 VS2005 进行编译 ,操作系统为 Windows 7 。
无论编译什么类型的代码 ,第一步都是准备编译环境,编译 Chromium ,需要安装如下软件(建议按步骤安装):
1 、Visual Studio 2005 Team Suit ENU 。
2 、Visual Studio 2005 Service Pack 1:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc
3 、安装补丁 Hotfix 947315:http://code.msdn.microsoft.com/KB947315/Release/ProjectReleases.aspx?ReleaseId=872
4 、安装补丁 Hotfix 949009:https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=18623
5 、如果操作系统是 Vista ,需要安装 Visual Studio 2005 Service Pack 1 Update for Windows Vista:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=90e2942d-3ad1-4873-a2ee-4acc0aace5b6
6 、安装 Microsoft Windows SDK7(Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1):http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505
7、配置 Microsoft Windows SDK7:开始菜单à所有程序à Microsoft Windows SDK v7 à Visual Studio Registration à Windows SDK Configuration Tool,在上边 Install Windows SDK Versions 右边的下拉框中选中“ v7 ” ,在 Select Visual Studio Versions 中选中“Microsoft Visual Studio 2005 ” ,最后点击“Make Current ”即可(在弹出的对话框中选择确认) 。
二 、下载代码
Google 为 Chromium提供了一个源码下载管理的工具,名为:depot_tools:http://sites.google.com/a/chromium.org/dev/developers/how-tos/install-gclient 。此工具包含了下载代码 、上传代码、生成 VS 认识的 vcproj 、sln 文件的功能 。虽然可以直接使用 SVN 取到 Chromium 的代码 ,但建议使用 depot_tools 在命令行下进行操作 ,以避免一些不可预知的问题 。
下面开始取源代码:
1 、解压 depot_tools 到一个目录(通常可以放到C:/Program Files) ,并删除其所有 .svn 文件夹 。
2、将 C:/Program Files/depot_tools/ 目录加入到系统环境变量的 PATH 中 。
3 、在其他磁盘新建一个目录 ,用于存储 chromium 的源代码。本例中为:E:/chromium_svn 。
4 、打开 CMD 命令提示符 ,切换到 E:/chromium_svn 目录 。
5 、执行命令设置好源码下载地址 gclient config http://src.chromium.org/svn/trunk/src
6 、输入 gclient sync 下载源码。
第 5 步骤需要较长的时间 ,在下载过程中 ,有可能出现卡死现象(当下载过程长时间不响应 ,断定为卡式 ,关闭CMD,重新执行第五步的命令) ,我的整个下载过程使用了4小时 。gclient sync 在完成代码下载后 ,会将 google 源代码配置文件(后缀名为gyp 、gypi的文件)转换为 vcproj 、sln 文件,这也是为什么使用命令行下载代码比较方便的原因之一 。
如果你 chromium/src/chrome 目录下不存在 chrome.sln 文件 ,原因是没有彻底执行 gclient sync ,执行一次即可。如果你不想下载代码,只想生成 chrome.sln ,可以执行 gclient runhooks –force 。
源代码下载完成之后 ,整个 Chromium_svn 有 3GB 大小 ,真实源码大概 1.5GB 左右 ,还有另外 1.5GB 是 SVN 配置文件的大小 。
三 、编译代码
去到目录 ,打开e:/chromium_svn/src/chrome/chrome.sln 便可以进行编译了 ,本例中我们编译 Debug 版本 ,打开环境后 ,如何进行编译就不用说了吧 。如下有几个需要注意的地方:
1 、如果VS2005中加载了 Visual Assist ,当 Visual Assist 没有处理完之前,尽量不要对 VS2005 做任何操作(包括编译) ,防止 Visual Studio 卡死现象 ,Visual Assist 处理完成所有代码大概需要 30 分钟左右 。
2 、打开 VS2005 后,VS的IntelliSense 功能便开始运行了 ,整个运行过程长达1小时 ,个人建议禁止VS IntelliSense 运行,具体的方法可见本博客转载的另一篇文章《去掉Visual Studio 2005的IntelliSense功能》 。
3、打开整个 Chromium 工程需要占用 500MB 的内存空间 ,编译过程至少需要500MB(不包括VS2005占用的内存) ,有时会高达 900MB ,建议编译机器内存配置为 2GB 或以上 。
我的CPU是Intel E5300 ,耗时5小时 ,总共编译370个工程 。最后有个unit_tests 工程由于unittest_data.h文件编码问题编译失败 ,由于这是一个单元测试工程 ,可以不予理睬 。
编译完成后 ,生成的文件夹(e:/chromium_svn/src/chrome/Debug/文件夹)大小达 13.5GB ,包括源码文件的话,整个文件夹高达 17GB ,建议编译前 ,确保磁盘拥有不少于20GB的空闲空间 。
---------------------------------------
1 、如果没有安装补丁Hotfix 947315,打开 chrome.sln 时 ,有可能出现卡死现象 ,是由于VS2005的Intelligense功能导致的。
2 、如果没有安装补丁Hotfix 949009,编译过程中可能会出现错误“uuid.lib(shguids2.obj) : fatal error LNK1103: debugging information corrupt; recompile module ” ,如提示所说 ,重新编译模块并不能解决问题 。
3、如果没有安装 Microsoft Windows SDK 7 或者没有 make current 绑定编译器为 VS2005 ,则编译过程中会出现很多编译错误 ,大多是宏没有定义 ,头文件不存在之类的 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!