轉自:http://www.udpwork.com/item/13827.html
官網描述
http://www.chromium.org/developers/how-tos/build-instructions-windows
為啥還要寫這篇博客
- 太久沒在這里寫博客
- Chrome編譯的教程,網上太多太多了,但各種錯誤(也許對他們當時的版本來說並不是錯誤)
- 好多博客沒有把問題說清楚
源碼打包下載(vbox的系統鏡像文件)
http://pan.baidu.com/s/1ntCHH1Z密碼:nbrm
如果失效請留言
第一步,修改系統語言
切換系統語言為英文!!!!!!
官網原文:
You must set your Windows system locale to English, or else you may get build errors about "The file contains a character that cannot be represented in the current code page."
不改?絕對的坑!! 報各種編碼錯誤,最后我重新安裝win7旗艦版!!
必須是x64系統!! 想想內存需求也應該明白!
You must have Windows 7 x64 or later. x86 OSs are unsupported.
再提醒一句, 安裝所有重要的系統補丁, 用windows update服務安裝!!! 里面包含IE11,必備. – 這一步只是為了保險起見.
第二步,安裝VS2013
官網的要求是VS2013, 不是2008,不是2010,不是2012, 當前最新的要求是2013!!
You must build with Visual Studio 2013 Update 4, no other versions are supported.
http://www.visualstudio.com/downloads/download-visual-studio-vs
網絡安裝或下載iso(6G左右) 均可, 只需要安裝C++套裝,其他一概取消.
提示: 最后一步安裝update4補丁包的時候(也就是最后的階段),會很慢很慢,很慢,不知道為啥,反正很久,等吧.
第三步,科學上網
往下的步驟都需要科學上網,穩定的科學上網,可靠的科學上網,別怪我沒提醒你git clone是不支持斷點續傳的!!!
第四步,添加環境變量
系統的環境變量加入 DEPOT_TOOLS_WIN_TOOLCHAIN 值為0
第五步,安裝depot_tools
下載頁面:http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up下載地址:https://src.chromium.org/svn/trunk/tools/depot_tools.zip
解壓到某個盤的根目錄,別帶中文,特殊字符等一切蛋疼的東西, 修改系統的環境變量, 把depot_tools的路徑加入到PATH
啟動cmd, 隨便找個目錄,執行
gclient
會自行下載python,git,svn等等依賴工具, 系統已經安裝的python,git是不認的!!!
第六步,下載源碼
重新打開一個console(cmd或者ComEms均可)
在一個剩余空間60G以上的盤, 嚴重建議是SSD, 起碼是SSD加速盤或混合硬盤
建一個文件夾,叫chrome_build, 或任何你喜歡的英文名,別中文啊啊啊啊,假設為 W:\chrome_build
W: mkdir chrome_build cd W:\chrome_build
經典做法, 直接fetch
fetch chromium #會很久很久
省流量的方法
fetch chromium # 出現sync字樣后, 終止(ctrl+c) gclient sync --no-history --force # 需要比較長的時間了 # 如果斷開了,重新執行gclient語句就可以了,不需要再執行fetch.
別以為sync只是下載源碼, 最后還會下載nacl的sdk的!!
第6步補充說明, 關於下載Webkit
正常下載的話, 下載webkit會很久很久,因為是整個歷史都下載下來.
下面介紹的做法,需要修改DEPS文件, 比較折騰, 自行想象吧.
看到
[0:13:08] src/third_party/WebKit
的時候,可以終止gclient
然后,執行:
# 用notepad++ 打開src/DEPS,找到webkit_revision的配置 cd src/third_party/ git clone --depth=10 https://chromium.googlesource.com/chromium/blink.git WebKit #大概下載360mb Cloning into 'WebKit'... remote: Sending approximately 5.08 GiB ... remote: Counting objects: 123641, done remote: Finding sources: 100% (123641/123641) remote: Total 123641 (delta 37772), reused 78823 (delta 37772) Receiving objects: 100% (123641/123641), 360.61 MiB | 444.00 KiB/s, done. Resolving deltas: 100% (37772/37772), done. Checking connectivity... done. Checking out files: 100% (144812/144812), done. # 執行git rev-list找個可用的rev git rev-list HEAD # 然后找出倒數第二個commit的sha1, 修改webkit_revision的值 # 回到根目錄,重新開始gclient gclient sync --no-history --force
繼續長時間的等待, 真的很久很久, 洗洗睡覺吧.
PS: v8也很慢, 見仁見智吧.
第七步, 編譯
編譯可以說是最簡單的一步
先生成各種文件(可以省略)
gclient runhooks
執行編譯, out/Debug可以改成out/Release等等.
cd src ninja -C out/Debug chrome
輸出:
ninja: Entering directory `out/Debug' [541/19418] RULE Assembling nacl_switch_unwind_win.asm to obj\native_client\sr...ice_runtime\arch\x86_64\service_runtime_x86_64.gen\nacl_switch_unwind_win.obj. Assembling: nacl_switch_unwind_win.asm [19418/19418] STAMP obj\chrome\chrome.actions_rules_copies.stamp
19418個編譯任務, 193xx的時候來開始鏈接,很慢, 我的筆記本電腦i7-3630, 8G內存, 32G SSD加速的普通機械硬盤, 編譯了2小時.
編譯完成后可以到 out/Debug目錄下找到chrome.exe, 啟動一下就是你編譯的Chrome了.
具體怎么打包成安裝文件,還沒找到方法.
