windows vs2017環境下編譯webkit

源碼地址: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、解壓cygwinC盤下(建議放在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瀏覽器的默認安裝路徑改變的緣由

 

 

8F7,能夠順利編譯完成。

相關文章
相關標籤/搜索