隨筆之XP下編譯Webkit

終於下載並編譯完成Webkit了。我是在32位XP下作的。下面是手順
=======================
1 前期工做
  》1 安裝VStudio 2005,個人是中文專業版,記住安裝的時候儘可能只安裝Visual C++,不然後面會痛苦至死。
  》2 安裝SP1包,VS80sp1-KB926604-X86-CHS.exe。這個比裝VS時間還要長。若是第1步選擇所有安裝的話,這一步須要花費2-3個小時。若是第一步只裝VC的話
        這一步大概就20分鐘
 》3 安裝VS補丁,不然VS容易死掉。VS80sp1-KB947315-X86-CHS.exe。若是不裝該補丁的話,就得禁止intellisense功能,就是刪除
       C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\feacp.dll庫,這個庫就是intellisense。或者更名吧。
》4 安裝quicktimeSDK。從網上找,在Apple官網上下載,注意不要修改默認安裝路徑。
》5 安裝DirectxSDK。從MS官方網上找。不過如今好像要檢查你的系統是否是正版。網上也有破解方法。
》6 安裝safari win32瀏覽器。
========================
2  下載源碼
》1 下載源碼tar包,1.8個G, http://nightly.webkit.org/files/WebKit-SVN-source.tar.bz2 不要用迅雷下,那樣會有問題。我直接用瀏覽器下的。
》2 下載Webkit封裝好的cygwin包, http://svn.webkit.org/repository/webkit/trunk/Tools/CygwinDownloader/cygwin-downloader.zip  而後運行其中的cygwin-downloader.exe
=========================
3 編譯源碼
》1 用VS打開源碼目錄/Source/WebKit/win/WebKit.vcproj/WebKit.sln。一共30個項目。
》2 修改每一個項目的debug配置/C++選項/常規/將警告視爲錯誤  設爲否
》3 用文本編輯器打開webkit源碼目錄\ WebKitLibraries\win\tools\vsprops\common.vsprops文件,將其中的/SAFESH替換成/SAFESEH:NO。這個和連接 以及安全有關。注意,和VCProject的連接,編譯等屬性全從這個文件夾中的vsprops繼承的,若是有須要的話,能夠在這裏改屬性。在
      VS中是改不了的
》4 cygwin安裝完後會提供一個terminal,進入webkit的源碼目錄,首先執行Tools/Script/Update-WebKit腳本。而後執行Tools/Script/Update-WebKit-Support-libs腳本。這兩
       個腳本要下載一些依賴文件到源碼目錄。注意必須在源碼根目錄下執行。由於編譯要求所下載的依賴文件放在根目錄下。
》5 添加一個系統環境變量,DXSDK_DIR 值爲C:\DXSDK。爲PATH變量添加cygwin的bin目錄
》6 執行Tools/Script/build-webkit --debug,這個腳本將編譯debug版的webkit
》7 編譯完的產物在webkit源碼目錄/WebKitBuild\Debug下。包括lib.dll.exe等
》8 編譯時候可能報錯,例如winnt.h報錯,可上網查詢。主要緣由是依賴頭文件的位置順序不對(DirectSDK include位置不對),可是又不太好改,錯誤以下:
     VS2005\VC\PlatformSDK\include\winnt.h(222) : error C2146: 語法錯誤 : 缺乏「;」(在標識符「PVOID64」的前面)。解決辦法直接修改winnt.h,在出錯的地方添加下面這
    行
    #define POINTER_64 __ptr64
》9 而後就編譯,大概就2K多個文件,速度比較快。
》10  編譯過程當中,可能報找不到d3d9.lib,那麼就把directxSDK/Lib目錄中的文件都拷貝到webkit源碼目錄\WebKitBuild\Debug\lib
 
============================
4 運行測試
》1 運行WebKitBuild\Debug\bin\MiniBrowser.exe,可能會報缺CFNetwork.dll等庫,這時須要把safari安裝的C:\Program Files\Common Files\Apple\Apple Application Support下的
      DLL所有拷貝到webkit源碼目錄\WebKitBuild\Debug/bin下, 注意有些庫不要覆蓋了。若是問你是否覆蓋,全在否便可。
》2 也能夠在VS中調試Tools/minBrowser
==========================
至此,Webkit編譯就算告一段落了。編譯中還有些文件有點問題。須要手動改改,這些都比較簡單了。

相關資料見:html

http://www.webkit.org/building/build.htmlweb

相關文章
相關標籤/搜索