成功编译google chrome

转自:http://www.xici.net/b657188/d84498758.htm 这篇文章适合老一点的chrome,现在已经编译不过去了,不过里面对chrome的介绍不错。

 

找啊找啊找,原来Windows SDK Configuration tool 工具有一个Bug,具体请看:
http://blogs.msdn.com/windowssdk/archive/2008/06/30/winsdk-bug-notification-sdk-config-tool-appears-to-work-but-fails.aspx
二:开发环境准备完毕,接下来下载Chrome的源代码:
   1. 下载depot_tools_win.zip,下完解压到一个目录,假设解压后的目录是:C:/depot_tools。
   2. 把depot_tools的路径加入PATH环境变量:我的电脑|属性|高级|环境变量。
   3. 创建一个存放代码的文件夹,假设是:c:/trunk;运行cmd并将当前路径定位到该文件夹: cd c:/trunk。
   4. 在cmd里执行:gclient config http://src.chromium.org/svn/trunk/src
   5. 执行完后,再执行:gclient sync,此时就开始检出Chrome的代码,需要很长的时间。

经过很长的时间(我下载了3个小时左右),代码终于取下来了,现在开始构建:
   1. 打开c:/trunk/src/chrome/chrome.sln。
   2. 会看到app目录下有一个chrome_exe工程,构建它就行了。

耐心地等待构建(我构建了1个半小时,看来我的本本性能还是不错的),幸运的话,目标文件会生成在:c:/trunk/src/chrome/debug
详细编译访问见:http://sites.google.com/a/chromium.org/dev/developers/how-tos/build-instructions-windows
三:关于chrome的内核引擎
    google chrome用的是WebKit内核引擎,看来firefox日子要开始不好过了。
WebKit Open Source Project 内核引擎的前世今生

WebKit 的前身是 KDE 小组的 KHTML。Apple将 KHTML 发扬光大,推出了装备 KHTML 改进型的 WebKit 引擎的浏览器 Safari,获得了非常好的反响。

WebKit 引擎比 Gecko 引擎更受程序员欢迎的原因,除了其引擎的高效稳定,兼容性好外,其源码结构清晰,易于维护,是一个重要的原因。而 Gecko 的可维护性就差多了。我在 2008年6月时候,曾编译 Gecko 引擎,准备做一个基于 Gecko 的 Embed 应用程序,但文档缺乏、结构欠清晰,折腾了一星期之后,最终不得不承认自己水平有限,放弃了事。

现在浏览器的内核引擎,基本上是三分天下:

  • Trident: IE 以Trident 作为内核引擎。
  • Gecko: Firefox 是基于 Gecko 开发。
  • WebKit: Safari, Google Chrome 基于 Webkit 开发。

WebKit 内核在手机上的应用十分广泛,例如 Google 的手机 Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。

下面是 WebKit 首页关于 WebKit 的介绍:http://www.xiaohui.com/dev/server/20080903-webkit-opensource-project.htm
四:chrome涉及开源项目
  Google Chrome是一个优秀的开源的浏览器,其开发过程大量地使用了网上现在成熟稳定的开源代码,目前Chrome所涉及25个开源代码:

1、Google Breakpad
/src/breakpad
    开源的跨开台程序崩溃报告系统。
2、Google URL
    /src/googleurl
     Google小巧的URL解析整理库。
3、Skia
/src/skia
    矢量图引擎。
4、Google v8
    /src/v8
    Google开源的JavaScript引擎。V8实现了ECMA-262第三版的ECMAScript规范,可运行于Windows XP 和 Vista, Mac OS X 10.5 (Leopard), 及 Linux等基于IA-32 或 ARM 的系统之上。V8可单独运行也可嵌入到任何C++程序中。
5、Webkit
/src/webki
    开源的浏览器引擎
6、Netscape Portable Runtime (NSPR)
/src/base/third_party/nspr
    Netscape Portable Runtime (NSPR) 提供了系统级平台无关的API及类似libc的函数。
7、Network Security Services (NSS)
/src/base/third_party/nss
    Network Security Services (NSS) 一套用于支持服务器端与客户端安全开发的跨平台函数库。程序通过NSS可支持SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 认证及其它一些安全标准。
8、Hunspell
/src/chrome/third_party/hunspell
    Spell checker and morphological analyzer library and program designed for languages with rich morphology and complex word compounding or character encoding.
9、Windows Template Library
/src/chrome/third_party/wtl
    用于开发Windows程序与UI组件的C++ library。WTL扩展了ATL (Active Template Library) 并提供一套用于controls, dialogs, frame windows, GDI objects等开发的类。
10、Google C++ Testing Framework
    /src/testing/gtest
    Google用于编写C++测试的基于xUnit架构的框架,可用于多种平台上:Linux, Mac OS X, Windows, Windows CE, and Symbian。支持自动测试发现,有一套丰富的Assertions断言,用于可自定义断言,death tests, fatal and non-fatal failures, various options for running the tests, and XML test report generation.
11、bsdiff 与 bspatch
/src/third_party/bsdiff /src/third_party/bspatch
    bsdiff 与 bspatch 用于为二进制文件生成补丁。
12、bzip2
/src/third_party/bzip2
    bzip2使用Burrows-Wheeler block sorting text compression 算法与Huffman编码压缩文件。
13、International Components for Unicode (ICU)
    /src/third_party/icu38
    ICU是一套成熟并被广泛使用的C/C++ 及 Java 库,可为软件提供Unicode与全球化支持。
14、libjpeg
/src/third_party/libjpeg
    用于处理JPEG (JFIF)图像格式的库。
15、libpng
/src/third_party/libpng
    PNG图像格式库。支持绝大部分的PNG特性,可扩展。已经被广泛地使用了13年以上了。
16、libxml
/src/third_party/libxml
    C语言的XML解析库。
17、libxslt
/src/third_party/libxslt
    C语言的XSLT库。
18、LZMA
/src/third_party/lzma_sdk
    LZMA为7-Zip软件中7z格式压缩所使用的压缩算法,有很好的压缩效果。
19、stringencoders
/src/third_party/modp_b64
    一系列高性能的c-string转换函数,比如:base 64 encoding/decoding。通常比其标准实现快两倍以上。
20、Netscape Plugin Application Programming Interface (NPAPI)
/src/third_party/npapi
    多种浏览器使用的跨平台插件架构。
21、Pthreads-w32
/src/third_party/pthread
    用于编写多线程程序的API
22、SCons - a software construction tool
/src/third_party/scons
    开源的软件构建工具——下一代的编译工具。可以认为SCons是改进过的跨平台配上autoconf/automake与ccache的Make工具的子系统。
23、sqlite
/src/third_party/sqlite
    大名鼎鼎的嵌入式数据库引擎。自管理、零配置、无需服务器、支持事务。
24、TLS Lite
/src/third_party/tlslite
     SSL 3.0, TLS 1.0, and TLS 1.1的Python免费实现库。TLS Lite支持这些安全验证方式:SRP, shared keys, and cryptoIDs in addition to X.509 certificates。注:Chrome并不包涵Python。TLS Lite用于Chrome开发过程中的代码覆盖、依赖检查、网页加载时间测试及生成html结果比较等。
25、zlib
/src/third_party/zlib
    zlib为一套用于任意平台与机器的无损数据压缩的库,它免费、自由、无任何法律专利问题。
五:文章链接

众所周知,IE浏览器的性能是很差的,特别在使用诸如 WebQQ 2.0 这样的丰富的网页应用时,你就能明显感觉到 IE的内核 和 谷歌浏览器的webkit内核 之间的性能差异了,那么有没办法提高 IE 的性能呢? Chrome Frame 是 Google 推出的一个针对 IE 6,7,8 开发的免费开源的浏览器插件,它可以让IE浏览器使用上webkit 内核。使用该插件后,用户的 IE 将获得和Chrome浏览器一样的高性能和丰富的功能,例如高速的Javascript引擎、支持HTML5、CSS3等新特性…… 用 IE 的壳,装上 Chrome 的芯 Chrome Frame 插件实际上就是可以让用户的浏览器外观依然是 IE 的菜单和界面,但当用户浏览网页时,实际上使用的是 Google Chrome 浏览器的内核来对页面进行运算解析和渲染。简单地说,就是用 IE 的壳,装上 Chrome 的芯。 IE在安装了 Chrome Frame 后,Acid测试达到了100分满分 使用谷歌浏览器内嵌框架 Chrome Frame 的优势: IE6提速40倍,IE8提速10倍 提高您的网页浏览速度 在使用谷歌浏览器的内嵌框架后,浏览网站可获得更快的响应速度和性能。 使用更多高级功能 通过谷歌浏览器内嵌框架,你的浏览器可以等到诸如HTML、CSS3等新功能的支持。 不会改变您原来的上网方式 谷歌浏览器内嵌框架 Chrome Frame 依然使用IE的界面和菜单,不会改变你原来的上网习惯。 禁用和卸载Chrome Frame的方法: 因为国内很多例如网上银行之类的应用只支持万恶的IE,当你需要禁用Chrome Frame时,只需要: 1. 工具-管理加载项 2. 在工具栏和扩展中,找到ChromeFrame BHO. 3. 禁用它 另外,卸载Chrome Frame的话,只要在控制面板中像卸载普通软件一样卸载即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值