1. 程式人生 > 其它 >下載最新的Google Chrome原始碼並編譯

下載最新的Google Chrome原始碼並編譯

下載最新的Google Chrome原始碼並編譯

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
解壓縮後如果想更新到最新版本就執行這個
gclient sync (--force)

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