在windows7、vs2013環境下編譯webkit,本人測試成功
1、解壓cygwin到C盤下(建議放在C盤更目錄下,否則編譯期間會有部分文件找不到)
啟動命令:C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -
也可以從Cygwin.bat啟動(若不是安裝在C盤,則啟動不了)
【注意】cygwin要用針對webkit的版本才行,這里提供下載地址(綠色版):
http://pan.baidu.com/s/1bnb4kMz
2、安裝兩個SDK
DXSDK、quicktimesdk(webkit官方要求的)
3、安裝vs2013(建議用默認路徑)
安裝vs2013之前,建議先裝好ie10
4、安裝Safari瀏覽器,因為編譯完webkit運行時,需要用Safari的部分dll,目前暫不清楚用了哪些dll,如果沒有安裝,編譯的時候,會提示缺少很多dll
5、下載webkit工程文件並做一些設置
a)、在http://nightly.webkit.org/ 下載webkit工程文件,30M左右
b)、下載一個補丁包,WebKit Support Libraries。這個壓縮包包含了Apple的幾個非開源庫的Windows port。下完后放在Webkit源碼解壓后的根目錄:~/WebKit-r95481/(注意這個補丁包不要解壓,build的時候腳本會自己搞定的)。
c)、設置五個環境變量
(1)WEBKIT_HOME:D:\WebKit-r164730
(2)WEBKIT_LIBRARIES :%WEBKIT_HOME%\WebKitLibraries\win
(3)WEBKIT_OUTPUTDIR:%WEBKIT_HOME%\WebKitBuild
(4)WEBKITLIBRARIESDIR:%WEBKIT_HOME%\WebKitLibraries\win
(5)WEBKITOUTPUTDIR:%WEBKIT_HOME%\WebKitBuild
d)、打開Cygwin,進入WebKit-r95481\Tools\Scripts文件夾運行三個腳本
(1) ./update-webkit
(2) ./ update-webkit-auxiliary-libs
(3) ./ update-webkit-support-libs
其中(2)是下載安裝WebKitAuxiliaryLibrary.zip,(3)是下載安裝WebKitSupportLibrary,這個非常重要,如果不運行這個的話,是無法在VS中編譯的。除非運行過build-webkit,而這個命令會首先自動運行update-webkit-support-libs。
6、設置編譯選項:
a) 用VS打開WebKit/WebKit/win/WebKit.vcproj/WebKit.sln,選擇正確的Configuration,也就是Debug和Release,選擇Debug即可。
b) 選擇DumpRenderTree, QTMovieWin, WebCore, WebKit, WinLauncher等所有項目(把c++項目的屬性都設置一遍)的項目屬性,左側選擇“C/C++”,將右側的“Treat Warnings As Errors”(“將警告視為錯誤”)設置為“No”。這個必須設置。否則編譯時會報錯。
c) 右擊WinLauncher,選擇“設為啟動項目”
7、修改兩個文件,在兩個圖片里面:
(1)、這里,webkit官方的LocalizedString.cpp文件出現出現字符錯誤
(2)、改這里,是因為Safari瀏覽器的默認安裝路徑改變的原因
8、按F7,可以順利編譯完成。