1. 程式人生 > >webkit windows編譯經驗分享

webkit windows編譯經驗分享

在Windows平臺上編譯了一週webkit,終於成功了。下面根據自己經驗,分享給大家,希望能幫助到大家。

1.      第一步無可厚非就是安裝cygwin,之前在webkit官網上下載的cygwin怎麼也編不過,後來去百度查一些webkit編譯經驗文件,找到一個cygwin的綠色免安裝版,是他們之前嘗試過的。之前我的webkit編譯不過,很大關係是自己下載的cygwin某些庫有問題,所以直接用了綠色免安裝版。我已經將cygwin綠色免安裝版上傳在:\\10.120.99.100\f1\zhongzw\軟體安裝包\cygwin.7z。直接解壓縮到C盤即可。然後在桌面建立一個快捷方式,輸入:“C:\cygwin\bin\mintty.exe-i /Cygwin-Terminal.ico -

”即可,你可以點選屬性-快捷方式-更改圖示。這裡請勿忘記新增C:\cygwin\bin到環境變數中。

2. 安裝其他依賴的工具:

Safari瀏覽器、QuickTime、Direct SDK、svn客戶端、python客戶端,所有安裝包都在:\\10.120.99.100\f1\zhongzw\軟體安裝包

注:這些軟體全部預設安裝, 安裝svn的時候注意要選中commonline client tool的那個選項,在安裝Direct SDK的時候報錯也沒關係,不用重新安裝

3. 安裝vs2013

安裝包自己解決

注意:安裝必須是預設選項,不要有任何更改!!

右鍵點選C:\ Program Files (x86)\MicrosoftVisual Studio 12.0\Common7\IDE\devenv.exe

,選擇“屬性”—“相容性”—“特權等級”—“以管理員身份執行”

左上角注意

4.  下載webkit程式碼:

5.  新增相關環境變數:

WEBKIT_HOME:webkit原始碼路徑

WEBKIT_LIBRARIES=%WEBKIT_HOME%\WebKitLibraries\win

  WEBKIT_OUTPUTDIR=%WEBKIT_HOME%\WebKitBuild

WEBKITLIBRARIESDIR=%WEBKIT_HOME%\WebKitLibraries\win

WEBKITOUTPUTDIR=%WEBKIT_HOME%\WebKitBuild

將C:\Program Files (x86)\Microsoft VisualStudio 12.0\VC\bin

新增到環境變數中

將C:\Program Files (x86)\CommonFiles\Apple\Apple Application Support新增到環境變數中

將python的路徑新增到環境變數中

6.  更新webkit依賴庫

首先先將WebKitSupportLibrary.zip(\\10.120.99.100\f1\zhongzw\軟體安裝包)放到webkit原始碼目錄下

然後以“管理員身份”開啟cygwin客戶端,cd到webkit根目錄下

1)開啟檔案/Tools/Scripts /update-webkit-dependency檔案,去掉三個curl的–sslv3引數

2)剛安裝cygwin都會遇到這個Can'tlocate HTTP/Date.pm in @INC問題

解決辦法:

輸入命令:cpan HTTP::Date

4)執行./Tools/Scripts/update-webkit要成功才可執行下一步

此為成功!!!

執行./Tools/Scripts/update-webkit-support-libs

此為成功!!!

7.  編譯webkit程式碼:

開啟Source/WebKit/WebKit.vcxproj/WebKit.sln

將WinLauncher設定為啟動專案

先在webkit上層目錄輸入svn upgrade ‘webkit目錄名’以防止編譯報SVN錯誤

這裡,webkit官方的LocalizedStrings.cpp檔案出現出現字元錯誤,需要將251行的%@和253行的<selection>的雙引號去掉

修改之後即為以下程式碼:

按F5執行,第一次編譯會編譯半天,祝你好運!!

8.  執行:

執行的時候回報找不到DLL的錯誤,只需將C:\Program Files (x86)\Common Files\Apple\Apple Application Support下除了WebKit.dll、JavaScriptCore.dll、QTMovieWin.dll以外所有DLL檔案拷貝到可執行檔案同一目錄下即可

另外以上軟體不想去網上下載的可以郵箱給我,我打包發給你們!!!