Chrome代碼下載及編譯


2-3年前在做客戶端開發時,看過CHROME的一部分代碼,主要是BASE庫相關的。其項目之大,編譯時間之長給我留下了深刻的印象。

3年后的最近,想着再讀一下其他部分的代碼,所以就對其糾結的下載和編譯過程做下總結。

網上的一些文章都是比較過時的,按照那些文章的做法基本沒啥戲。其實,仔細閱讀chromium中關於Get Source Code頁面的說明就能開耍了。現在的整個流程要比之前的流程感覺清晰多了。

我的環境是WIN7 SP1 + VS2013 UPDATE4。最新的chrome代碼引入了一些C++11的特性,所以用13是必須的。

具體流程

  1. VPN一枚。天朝的特殊需求,大家懂的。
  2. 下載depot_tools,具體流程可以參考這個頁面。下載好后,在系統變量PATH中添加depot_tools的路徑。
  3. 然后設置系統變量set DEPOT_TOOLS_WIN_TOOLCHAIN=0 這個系統變量可以提前設置。
  4. 打開cmd,輸入fetch --nohooks chromium 開始進入漫長的下載過程,會下載很多必備的工具,比如python,git之類的
  5. 執行gclient,會檢查一些環境,繼續更新一些東西
  6. 執行gclient sync,同步最新的代碼,同步其他模塊之類的
  7. set GYP_MSVS_VERSION=2013
  8. set GYP_GENERATORS=msvs-ninja,ninja
  9. set GYP_DEFINES=component=shared_library, 以DLL方式編譯,你如果不想就不用設置這個變量
  10. 執行gclient runhooks,開始生成項目之類的
  11. cd src,切換到src目錄下
  12. ninja -C out\debug chrome,開始編譯

遇到的問題

編譯過程中提示一些編碼問題,放狗搜了下,我把系統的“非Unicode程序的語言”設置為英語(美國)后重啟再編譯就好了。

 

我用的機器是E5的CPU,SSD盤,96G內存,編譯一共用了差不多1個半小時。留圖紀念下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM