提示:安裝過(guò)程中請(qǐng)關(guān)閉安全軟件。 本文檔是針對(duì)WebKit-r95358所寫(xiě)。 1、開(kāi)發(fā)環(huán)境: a) 操作系統(tǒng):Windows XP或者Windows 7。 b) IDE:Microsoft 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 說(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è)軟件包;下載完成后,雙擊Cygwin的setup.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)行一下 4、設(shè)置編譯選項(xiàng): a) 用VS打開(kāi)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)目的【清單工具】中的【輸入輸出】中的是否使用【嵌入清單】選為否。這一步也非常重要,否則,編譯出來(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版本的不同而不同的,例如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./ 感謝此網(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)信,期待與您交流。 |
|