天天看點

下載下傳最新的Google Chrome源碼并編譯

下載下傳最新的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

繼續閱讀