提示:安裝過程中請(qǐng)關(guān)閉安全軟件。
本文檔是針對(duì)WebKit-r95358所寫。
1、開發(fā)環(huán)境:
a) 操作系統(tǒng):Windows XP或者Windows 7。
b) IDE:Microsoft Visual Studio 2005中文版。
c) 輔助工具:Cygwin。
2、安裝開發(fā)工具:
a) 安裝Microsoft Visual Studio 2005中文版到系統(tǒng)盤,使用默認(rèn)安裝即可。
b) 安裝Microsoft Visual Studio 2005 Team Suite Service Pack 1中文版,使用默認(rèn)安裝即可。
c) 安裝四個(gè)補(bǔ)丁:(可選,可以跳過此步驟)
一、KB918559
二、KB935225
三、KB943969
四、KB947315
說明:因?yàn)榘惭b的IDE是中文版的,而這四個(gè)補(bǔ)丁中,不是每一個(gè)都有中文版,也就是CHS版,所以上面補(bǔ)丁也可以不安裝。
d) 安裝Cygwin到系統(tǒng)盤。從Webkit官網(wǎng)下載cygwin-downloader.zip,解壓以后,文件夾里面有一個(gè)cygwin-downloader.exe,點(diǎn)擊運(yùn)行它會(huì)自動(dòng)下載120個(gè)軟件包;下載完成后,雙擊Cygwin的setup.exe,選擇“Install from local files”安裝,使用默認(rèn)安裝即可,無需做任何改動(dòng),一路next,把剛才下載的120個(gè)軟件都裝上。(寫本文檔時(shí),下載的是120個(gè)文件,以后有可能會(huì)發(fā)生變動(dòng))
e) 安裝QuickTime SDK到系統(tǒng)盤,所以用默認(rèn)安裝即可。從http://developer.apple.com/quicktime/download/下載一個(gè)QuickTime SDK安裝程序,需要注冊(cè)才能下載,耐心注冊(cè)就是,下載安裝沒什么說的;如果嫌注冊(cè)麻煩,也可以到CSDN或者類似網(wǎng)站下載。我用的是V7.3版。
f) 安裝DirectX SDK到系統(tǒng)盤,使用默認(rèn)安裝即可。一路next。下載February 2010 DirectX SDK, 新版本不支持VS2005,下載過程中會(huì)遇到正版驗(yàn)證的提示;如果嫌驗(yàn)證麻煩,可以到CSDN或者類似網(wǎng)站下載。至此,開發(fā)環(huán)境搭建完畢,重啟一下電腦就是了。
g) 小結(jié):安裝開發(fā)環(huán)境其實(shí)沒有什么難的,只要把所有需要安裝的工具提前準(zhǔn)備好,然后按照前面的步驟安裝就是了,一般而言不會(huì)有什么問題的。容易出問題的地方在下面,也就是獲取源代碼之后的步驟。
3、獲取源代碼:
a) 下載代碼壓縮包,選擇http://nightly.webkit.org/第三個(gè)下載項(xiàng),也就是Source下載項(xiàng)。選擇源代碼包的版本也很重要,一般而言,可以選擇比較早的版本,這樣能夠保證順利的編譯過。較新的版本可能會(huì)出現(xiàn)各種意想不到的問題。比如,我曾經(jīng)遇到過編譯出來WebKit.dll沒有調(diào)試信息。這么做的依據(jù)就是較早的代碼包中的代碼就不會(huì)有什么明顯錯(cuò)誤了;但是也有特殊情況,就是如果WebKit本身進(jìn)行了升級(jí),那么就有可能造成不在兼容以前的代碼包的情況,在這種情況下,是無論如何也編譯不過的。之前,我一直是用r59902的版本進(jìn)行編譯調(diào)試,后來有一次還原了操作系統(tǒng),然后按照前面的安裝步驟反復(fù)安裝好幾次,都沒有成功,最后不得已,就用了比較新的版本r95358進(jìn)行編譯才通過,當(dāng)然,這個(gè)版本也是有問題的,代碼本身有錯(cuò)誤。所以,結(jié)論就是,選擇版本的時(shí)候也不能太舊,如r59902,太舊的話容易遇到不兼容的問題;也不能太新,如r95358,太新的話,會(huì)遇到代碼本身的問題。
b) 下載補(bǔ)丁包WebKit Support Libraries,下完后放在Webkit源碼解壓后的根目錄即可,這個(gè)補(bǔ)丁包本身不必解壓。
c) 接著,打開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è)的話,是無法在VS中編譯的。除非運(yùn)行過build-webkit,而這個(gè)命令會(huì)首先自動(dòng)運(yùn)行update-webkit-support-libs。然后重啟。
4、設(shè)置編譯選項(xiàng):
a) 用VS打開WebKit-r95358/Source/WebKit/win/WebKit.vcproj/WebKit.sln,選擇正確的Configuration,也就是Debug和Release,選擇Debug即可。
b) 設(shè)置C++的項(xiàng)目屬性,左側(cè)選擇“C/C++”,將右側(cè)的“將警告視為錯(cuò)誤”設(shè)置為“否”。
同時(shí),還要將WebKit項(xiàng)目的【清單工具】中的【輸入輸出】中的是否使用【嵌入清單】選為否。這一步也非常重要,否則,編譯出來的可執(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而無法啟動(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版本的不同而不同的,例如r59902和r95358需要的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.niuwa.org/ 感謝此網(wǎng)站為作者提供的有益參考
b) http://www.webkit.org/ 感謝WebKit官網(wǎng)為作者提供權(quán)威的資料
c) http://my.oschina.net/sanshang/blog/11158
7、聯(lián)系作者
如對(duì)本章有任何建議和意見,請(qǐng)發(fā)信至kingysu@gmail.com。真誠(chéng)歡迎您的來信,期待與您交流。
聯(lián)系客服