0000 環境建置

Post date: 2013/1/7 上午 08:23:52

構建環境

設置環境為Visual Studio 2010

1. 必備軟件:

Windows 7或更高版本。

A 64 bit OS is highly recommended as building on 32 bit OS is constantly becoming harder, is a lot slower and is not actively maintained.

At least 60 GB of free space in an NTFS volume. Tip: having the chromium source in a SSD drive greatly speeds build times.

0. Visual Studio 2010 Professional or Standard.

0. 下載 Windows 8SDK http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx

0. 下載 2010年6月的DirectX SDK http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=6812

2. 安裝 Visual Studio 2010中

0. 確保「X64編譯器和工具」的安裝。

0. 安裝VS2010 SP1 https://www.microsoft.com/en-us/download/details.aspx?id=23691

3. 安裝 Windows 8的SDK。

注意:如果你安裝了SDK,在不同的路徑 C:\Program Files (x86)\Windows Kits\8.0 ,你需要設置以下環境變量:GYP_DEFINES=windows_sdk_path="C:\Program Files (x86)\Windows Kits\8.0"

4. 2010年6月的DirectX SDK

Note: If your install fails with the "Error Code: S1023" you may need to uninstall "Microsoft Visual C++ 2010 x64 Redistributable". See this tip from

stackoverflow: http://stackoverflow.com/questions/4102259/directx-sdk-june-2010-installation-problems-error-code-s1023

5. 修補程序的Windows 8 SDK建立與Visual C + + 2010

Chromium 的零件建設與Windows 8 SDK使用winrt頭。我們使用的所有的標頭,包括WRL,可以使用Visual C + +編譯2010年的一個文件,asyncinfo.h例外。

該文件使用一個強類型的枚舉的VS2010編譯器不明白。要解決這個暫時的,一小片需要被應用到Windows 8 SDK在VS2010建立的winrt頭:

C:\Program Files (x86)\Windows Kits\8.0\Include\WinRT\asyncinfo.h

Patch for Include\winrt\asyncinfo.h

Index: asyncinfo.h

===================================================================

--- asyncinfo.h

+++ asyncinfo.h

@@ -63,7 +63,7 @@

#pragma once

#ifdef __cplusplus

namespace ABI { namespace Windows { namespace Foundation {

-enum class AsyncStatus {

+enum /*class*/ AsyncStatus { //改這行,把class去掉就好

Started = 0,

Completed,

Canceled,

6. 安裝Cygwin。

7.

安裝python-2.7.3.msi

二:開發環境準備完畢,接下來下載Chrome的源代碼:

1. 下載depot_tools_win.zip,下完解壓到一個目錄,假設解壓後的目錄是:C:\depot_tools。

2. 把depot_tools的路徑加入PATH環境變量:我的電腦|屬性|高級|環境變量。

3. 創建一個存放代碼的文件夾,假設是:c:\trunk;運行cmd並將當前路徑定位到該文件夾: cd c:\trunk。

4. 在cmd裡執行:gclient config http://src.chromium.org/svn/trunk/src

svn ls https://src.chromium.org/chrome

5. 執行完後,再執行:gclient sync,此時就開始檢出Chrome的代碼,需要很長的時間。

6. gclient runhooks

7. 為了讓VC + +識別UTF-8字符在這些文件中,我在前面加上3個字節,0xef 0xbb 0xbf,上述三個文件。頭3個字節表示,這些文件是UTF-8編碼,VC + +,因此可以識別UTF-8字符,編譯通過!

對以下三個文件直接複製0xef 0xbb 0xbf,貼上後,儲存,再把0xef 0xbb 0xbf刪除,他就會自動修改好文件的起始字元了

D:\chromiumtrunk\src\third_party\cld\encodings\compact_lang_det

compact_lang_det_unittest_small.cc

unittest_data.h

D:\chromiumtrunk\src\chrome\browser\password_manager

password_store_default_unittest.cc

經過很長的時間(我下載了3個小時左右),代碼終於取下來了,現在開始構建:

1. 打開c:\trunk\src\chrome\chrome.sln。

2. 會看到app目錄下有一個chrome_exe工程,構建它就行了。

耐心地等待構建(我構建了1個半小時,看來我的本本性能還是不錯的),幸運的話,目標文件會生成在:c:\trunk\src\chrome\debug

詳細編譯訪問見:http://sites.google.com/a/chromium.org/dev/developers/how-tos/build-instructions-windows

編譯完成後會有類似這樣的字串

========== Build: 1 succeeded or up-to-date, 0 failed, 653 skipped ==========

之後只要對 chrome 設定為啟始專案

對這個專案點右鍵,僅編譯該專案就可以快速編譯修改過的內容了