日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

編譯WebKit的詳細(xì)步驟

 My鏡像站 2011-12-29

提示:安裝過(guò)程中請(qǐng)關(guān)閉安全軟件。

本文檔是針對(duì)WebKit-r95358所寫(xiě)。

1、開(kāi)發(fā)環(huán)境:

a) 操作系統(tǒng):Windows XP或者Windows 7。

b) IDEMicrosoft Visual Studio 2005中文版。

c) 輔助工具:Cygwin。

2、安裝開(kāi)發(fā)工具:

a)   安裝Microsoft Visual Studio 2005中文版到系統(tǒng)盤(pán),使用默認(rèn)安裝即可。

b)   安裝Microsoft Visual Studio 2005 Team Suite Service Pack 1中文版,使用默認(rèn)安裝即可。

c) 安裝四個(gè)補(bǔ)丁:(可選,可以跳過(guò)此步驟)

一、KB918559
二、KB935225
三、KB943969
四、KB947315

說(shuō)明:因?yàn)榘惭b的IDE是中文版的,而這四個(gè)補(bǔ)丁中,不是每一個(gè)都有中文版,也就是CHS版,所以上面補(bǔ)丁也可以不安裝。

d) 安裝Cygwin到系統(tǒng)盤(pán)。從Webkit官網(wǎng)下載cygwin-downloader.zip,解壓以后,文件夾里面有一個(gè)cygwin-downloader.exe,點(diǎn)擊運(yùn)行它會(huì)自動(dòng)下載120個(gè)軟件包;下載完成后,雙擊Cygwinsetup.exe,選擇“Install from local files”安裝,使用默認(rèn)安裝即可,無(wú)需做任何改動(dòng),一路next,把剛才下載的120個(gè)軟件都裝上。(寫(xiě)本文檔時(shí),下載的是120個(gè)文件,以后有可能會(huì)發(fā)生變動(dòng)

e) 安裝QuickTime SDK到系統(tǒng)盤(pán),所以用默認(rèn)安裝即可。從http://developer.apple.com/quicktime/download/下載一個(gè)QuickTime SDK安裝程序,需要注冊(cè)才能下載,耐心注冊(cè)就是,下載安裝沒(méi)什么說(shuō)的;如果嫌注冊(cè)麻煩,也可以到CSDN或者類(lèi)似網(wǎng)站下載。我用的是V7.3。

f) 安裝DirectX SDK到系統(tǒng)盤(pán),使用默認(rèn)安裝即可。一路next下載February 2010 DirectX SDK, 新版本不支持VS2005,下載過(guò)程中會(huì)遇到正版驗(yàn)證的提示;如果嫌驗(yàn)證麻煩,可以到CSDN或者類(lèi)似網(wǎng)站下載。至此,開(kāi)發(fā)環(huán)境搭建完畢,重啟一下電腦就是了。

g) 小結(jié):安裝開(kāi)發(fā)環(huán)境其實(shí)沒(méi)有什么難的,只要把所有需要安裝的工具提前準(zhǔn)備好,然后按照前面的步驟安裝就是了,一般而言不會(huì)有什么問(wèn)題的。容易出問(wèn)題的地方在下面,也就是獲取源代碼之后的步驟。

3、獲取源代碼:

a) 下載代碼壓縮包,選擇http://nightly./第三個(gè)下載項(xiàng),也就是Source下載項(xiàng)。選擇源代碼包的版本也很重要,一般而言,可以選擇比較早的版本,這樣能夠保證順利的編譯過(guò)。較新的版本可能會(huì)出現(xiàn)各種意想不到的問(wèn)題。比如,我曾經(jīng)遇到過(guò)編譯出來(lái)WebKit.dll沒(méi)有調(diào)試信息。這么做的依據(jù)就是較早的代碼包中的代碼就不會(huì)有什么明顯錯(cuò)誤了;但是也有特殊情況,就是如果WebKit本身進(jìn)行了升級(jí),那么就有可能造成不在兼容以前的代碼包的情況,在這種情況下,是無(wú)論如何也編譯不過(guò)的。之前,我一直是用r59902的版本進(jìn)行編譯調(diào)試,后來(lái)有一次還原了操作系統(tǒng),然后按照前面的安裝步驟反復(fù)安裝好幾次,都沒(méi)有成功,最后不得已,就用了比較新的版本r95358進(jìn)行編譯才通過(guò),當(dāng)然,這個(gè)版本也是有問(wèn)題的,代碼本身有錯(cuò)誤。所以,結(jié)論就是,選擇版本的時(shí)候也不能太舊,如r59902,太舊的話容易遇到不兼容的問(wèn)題;也不能太新,如r95358,太新的話,會(huì)遇到代碼本身的問(wèn)題。

b) 下載補(bǔ)丁包WebKit Support Libraries,下完后放在Webkit源碼解壓后的根目錄即可,這個(gè)補(bǔ)丁包本身不必解壓。 

c) 接著,打開(kāi)Cygwin,進(jìn)入Webkit-r95358文件夾運(yùn)行一下
Tools/Scripts/update-webkit,這是個(gè)更新腳本,不運(yùn)行這個(gè)編譯的時(shí)候是肯定要出錯(cuò)的。然后運(yùn)行Tools/Scripts/update-webkit-support-libs。這個(gè)非常重要,如果不運(yùn)行這個(gè)的話,是無(wú)法在VS中編譯的。除非運(yùn)行過(guò)build-webkit,而這個(gè)命令會(huì)首先自動(dòng)運(yùn)行update-webkit-support-libs。然后重啟。

4、設(shè)置編譯選項(xiàng):

a) 用VS打開(kāi)WebKit-r95358/Source/WebKit/win/WebKit.vcproj/WebKit.sln,選擇正確的Configuration,也就是DebugRelease,選擇Debug即可。

b) 設(shè)置C++的項(xiàng)目屬性,左側(cè)選擇“C/C++”,將右側(cè)的“將警告視為錯(cuò)誤”設(shè)置為“否”。

同時(shí),還要將WebKit項(xiàng)目的【清單工具】中的【輸入輸出】中的是否使用【嵌入清單】選為否。這一步也非常重要,否則,編譯出來(lái)的可執(zhí)行程序會(huì)拋出異常。

c) 走到這里,就剩下按F7或者在Cygwin中使用命令“./build-webkit --debug”。至此,可以保證編譯順利完成。

5、調(diào)試和運(yùn)行:

a) 編譯完成后最想做的當(dāng)然是看看效果啦,最方便的方法就是運(yùn)行WinLauncher了,但是很遺憾,您要是直接運(yùn)行它,會(huì)發(fā)現(xiàn)缺少很多dll而無(wú)法啟動(dòng)。要運(yùn)行這個(gè)程序,您得做兩件事情。

b) 下載并安裝Safari。

c) 將C:\Program Files\Common Files\Apple\Apple Application Support文件下面的一些DLL文件復(fù)制到WebKit-r95358/WebKitBuild/Debug/bin目錄下,就可以運(yùn)行WinLauncher了。下面給出需要復(fù)制的DLL文件的清單,注意這些清單中的文件也是隨著WebKit版本的不同而不同的,例如r59902r95358需要的DLL文件就不同。下面這個(gè)清單針對(duì)的是r95358版的WebKit

ASL.dll

CFNetwork.dll

CoreFoundation.dll

CoreGraphics.dll

CoreVideo.dll

icudt46.dll

libdispatch.dll

libicuin.dll

libicuuc.dll

libxml2.dll

objc.dll

pthreadVC2.dll

QuartzCore.dll

SQLite3.dll

WebKitQuartzCoreAdditions.dll

zlib1.dll

共計(jì)16個(gè)文件。

6、參考資料:

a) http://www./  感謝此網(wǎng)站為作者提供的有益參考 

b) http://www./ 感謝WebKit官網(wǎng)為作者提供權(quán)威的資料 

c) http://my.oschina.net/sanshang/blog/11158 

7、聯(lián)系作者

如對(duì)本章有任何建議和意見(jiàn),請(qǐng)發(fā)信至kingysu@gmail.com。真誠(chéng)歡迎您的來(lái)信,期待與您交流。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多