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