使用VS2015+win7编译WebKit(WebKit-r189384)
轉自http://www.cjjjs.cn/paper/xmkf/20151010103054446.aspx
一、準備工具,下載好官方要求的工具http://www.webkit.org/building/tools.html,下載好源代碼:http://nightly.webkit.org/builds/trunk/src/1,路徑最好就是默認,避免不必要的麻煩
?
a)?安裝vs2015。當然,官方說的默認安裝是不正確的。默認安裝會再編譯時提示找不到”CL.EXE”,我們安裝默認以后,還要安裝C++相關的東西,我記得是還有兩個,不過沒有截圖,如果你不想麻煩的話,全部和C++相關的都安裝。
b)?Cygwin
我用的是WebKit-r189384\Tools\CygwinDownloader文件夾下面的python腳本。在運行之前確保兩件事
1、安裝python2.7
2、安裝python2.7完畢后,編輯文件cygwin-downloader.py
?
找到42左右的這行代碼,修改為:
package_mirror_url?=?"http://mirrors.163.com/cygwin/"
也就是,采取指定的163源,不再是隨機源。
?
做好這兩件事以后
就可以運行該腳本了,如果安裝了python的話,你可以直接雙擊運行。如果能直接運行的話就用管理員權限運行cmd,然后進入目錄
1)Cd??E:\WebKit-r189384\Tools\CygwinDownloader
2)python?cygwin-downloader.py
等待下載163個包(如果這里你不是163,那么,很可能就是官方的webkit腳本已經修改,此教程有些地方很可能已經不適用了),這里官方網站給了我很大的誤導,首先是直接下載安裝包
cygwin-downloader.zip??2,932KB
說直接解壓,然后等待下載運行就能獲取到全部的功能庫,但是據我所知,至少有幾個是沒有包含進來的,curl沒有就是其中一個坑。
?
下載完畢以后不用急著去運行安裝
首先看一下setup.ini文件大小,我的為6,532KB(如果你做的時候,大小不一樣,那么里面的安裝模塊很可能就不一樣的了,此教程只能用于參考了)
?
啟動setup.exe?的本地安裝,如果no?packet的類似信息
打開文件夾x86/看里面是否存在setup.ini,如果不存在則復制外面的進去,再重新啟動
安裝完畢以后,我們繼續補充官方網站沒有下載的包,install?from?internet,選擇163源
1)curl?:鍵入再Search輸入框curl?然后把里面全部安裝了(反正我不知道,也不想看,所以偷懶啦,163源速度快,很快就裝好)
2)LWP:Search搜索,同上,全裝
3)Rubygems:Search搜索,同上,全裝。
4)Ruby-webkit:這個要看是否已經裝了,如果安裝了就不用再裝
5)python-webkit:安裝這個的原因是,有時候python腳本貌似有問題。具體什么問題我也不知道,反正包那么小,就裝了唄
?
安裝完cygwin以后,就按照官網的一步步走下來吧包括rebaseall。
安裝QuickTime?SDK(根據官網)
安裝DirectX?SDK(根據官網)
?
二、安裝編譯
編譯前準備工作:
a.?下載WebKitSupportLibrary.zip(920KB)放到webkit目錄下
b.?打開WebCore\platform\LocalizedString.cpp,在264行和266行中有"Look?Up?“%@”"和"Look?Up?“<selection>”"注意%@和<selection>兩邊的雙引號是全角的,然后刪除這些全角的引號即可。
c.?WebKit\Tools\TestWebKitAPI\Tests\WTF\WTFString.cpp?右鍵用記事本編輯,另存為Unicode編碼(本來是utf-8),因為這里有中文,會引起常量存在換行符的問題
d.?刪除不必要的*.cmd腳本文件大小為0的,在webkit目錄下搜索?*.cmd?大小:空?然后把搜索出來的全部刪除
?
?
關于update-webkit的錯誤
a.?錯誤:Can't?locate?HTTP/Date.pm?in?@INC
解決方法:類似的就用相同的方法cpan?XXX::XXX?大小寫一致如:cpan?HTTP::Date,然后等待下載成功,第一次cpan的時候會有一些設置,直接enter默認就可以了
b.?Could?not?access?https://developer.apple.com/opensource/internet/WebKitAuxiliaryLibrary.zip?
WebKitAuxiliaryLibrary.zip下載失敗,類似這樣的意思,什么無法訪問的意思。
解決方法:這個是因為腳本解析錯誤造成的,用cygwin?安裝?LWP全部。
c.錯誤:缺少Archive::Zip,則使用以下命令安裝,需要代理。
root# cpan
cpan> install Archive::Zip
cpan> quit
root#
?
?
這個時候就可以運行build-webkit?腳本了。
a.?error?1:?<internal:gem_prelude>:1:in?`require':?cannot?load?such?file?--?rubygems.rb
解決方法:cygwin?安裝Rubygem?,用setup.exe搜索就可以了。
b.?CL.exe的問題:安裝好VS里面C++相關的項,我那時候是默認安裝后編譯一次發現問題后,打開WebKit\Source\WebKit\WebKit.vcxproj\WebKit.sln?然后VS提示要安裝,所以點安裝解決問題了。
三、問題總結
a)?failed?to?determine?path?to?aas?directory?
b)?Curl未找到命令:cygwin?安裝curl相關模塊。
?
參考文檔
VS2015?Webkit?http://blog.csdn.net/sunshineboyleng/article/details/48679799
http://blog.csdn.net/wxdvc/article/details/8508077
http://blog.csdn.net/kimmking/article/details/43910121
總結
以上是生活随笔為你收集整理的使用VS2015+win7编译WebKit(WebKit-r189384)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浏览器出现ERR_PROXY_CONNE
- 下一篇: DataHunter完成千万级A轮融资