源碼地址:https://github.com/BlzFans/wkehtml
先看官方的說明:c++
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如圖:git
進入目錄【】打開.bat文件,以下,其中調用的幾個bat文件依次打開並修改:github
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 如 紅色部分web
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盤更目錄下,不然編譯期間會有部分文件找不到)app
啓動命令:C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -curl
也能夠從Cygwin.bat啓動(若不是安裝在C盤,則啓動不了)ide
【注意】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,能夠順利編譯完成。