下載下傳最新的Google Chrome源碼并編譯
x844010689 2014-01-20 18:17:50 2009 收藏
之是以這麼喜歡chrome,就是因為它開放。與firefox不同,ff使用了mozilla的一些技術:xul、xpcom,而且編譯過程非常複雜,不适合研究學習。chrome使用了最普通的lib:WTL、zlib、libpng、sqlite、webkit,連v8也不是專門為chrome開發的,它甚至可以獨立在指令行中解釋js代碼。編譯過程中使用了最最最平常不過的工具python,svn,cygwin。。。比起mozilla平易近人多了。
1.為下載下傳源碼做準備
這裡下載下傳depot_tools,解壓縮。
http://src.chromium.org/svn/trunk/tools/depot_tools.zip
安裝一個python 2.4,我直接從這裡用svn簽出了一個。官方用的就是2.4,我沒嘗試過其他版本。
http://src.chromium.org/svn/trunk/tools/third_party/python/
因為gclient要用svn,而我隻有TortoiseSVN,是以我在這裡簽出一個svn。
http://src.chromium.org/svn/trunk/depot_tools/win/bootstrap/svn
或者這裡下載下傳
http://subversion.tigris.org
将depot_tools,python,svn的三個路徑添加到PATH環境變量中。
之後,我把其中python和svn下面所有的.svn檔案夾都删除了,免得svn操作的時候混亂,産生不必要的麻煩。不知道如果不删除會不會失敗。
2.下載下傳源碼 - 從SVN簽出
gclient config http://src.chromium.org/svn/trunk/src
(可選)在.gclient檔案中添加這些
"custom_deps" : {
"src/webkit/data/layout_tests/LayoutTests": None,
},
目的是為了不下載下傳LayoutTests的檔案。因為這個很浪費時間,而且好像目前對方的SVN還有問題,導緻後面的gyp程式不能執行。
gclient sync (--force)
2.下載下傳源碼 - 下載下傳tgz的壓縮包
http://build.chromium.org/buildbot/archives/chromium_tarball.html
解壓縮後如果想更新到最新版本就執行這個
3.編譯
編譯chrome_exe工程就可以了。等啊等啊。。。
注意:
源碼的目錄名中不能有空格。
官方說tgz壓縮包不能用cygwin的工具解壓,檔案通路權限會出問題,推薦7z。當然也不能用winrar,它處理0大小的檔案會出錯。
如果打開src\chrome\chrome.sln後發現,很多工程不存在,說明gyp過程失敗。自己調用src\tools\gyp\gyp.bat src\build\all.gyp,這樣打開sln就發現都齊了。
如果VS2008出現“Error C2471: cannot update program database”錯誤,去這裡下一個更新檔打上
http://support.microsoft.com/kb/946040
如果找不到t2embap.h,或者安裝一個Windows SDK 6.1,或者去其他安裝了的機器上找到t2embap.h .lib .dll分别拷到你的SDK的include,lib,windows的system32就可以了。
原文位址:https://blog.csdn.net/x844010689/article/details/18561221?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242