源碼地址:https://github.com/BlzFans/wke
先看官方的說明:

Web和Flash的嵌入式3D游戲,基於WebKit 建築工作單元 VS2005: 1安裝Visual Studio 2005 SP1 2安裝 Windows SDK 6 3打開 vs2005/wke.sln 在Visual Studio解決方案文件和生成解決方案。 這可能需要30分鍾到1小時。更有可能40分鍾。 VS2008: 1安裝Visual Studio 2008 SP1 2安裝Windows SDK 6或更新版本 3打開 vs2008/wke.sln 在Visual Studio解決方案文件和生成解決方案。 這可能需要30分鍾到1小時。更有可能40分鍾。 運行工作單元 wkebrowser.exe執行可以在 demo/bin/wkeBrowser.exe 發現 常見生成錯誤: 1 Cygwin exception::handle: Exception: STATUS_ACCESS_VIOLATION 關閉Visual Studio,然后恢復和重建。這通常解決問題。
解壓源碼:復制vs2008文件夾並重命名為vs2017如圖:
進入目錄【】打開.bat文件,如下,其中調用的幾個bat文件依次打開並修改:
1 @echo off 2 3 cd libcurl 4 call build.bat 5 6 cd ..\zlib 7 call build.bat 8 9 cd ..\cairo 10 call build.bat 11 12 cd ..\libpng 13 call build.bat 14 15 cd ..\libxml2 16 call build.bat 17 18 cd ..\libxslt 19 call build.bat
添加 VS140COMNTOOLS 如 紅色部分
1 if exist "%VS80COMNTOOLS%vsvars32.bat" ( 2 call "%VS80COMNTOOLS%vsvars32.bat" 3 ) else if exist "%VS90COMNTOOLS%vsvars32.bat" ( 4 call "%VS90COMNTOOLS%vsvars32.bat" 5 ) else if exist "%VS140COMNTOOLS%vsvars32.bat" ( 6 call "%VS140COMNTOOLS%vsvars32.bat" 7 ) else ( 8 exit 9 )
可以通過系統變量查看值為 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\ 的變量名為 VS140COMNTOOLS 即vs的工具路徑。
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,可以順利編譯完成。