国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

WebKit 在Windows 平臺(tái)下編譯小結(jié)

2019-11-17 03:58:02
字體:
供稿:網(wǎng)友
WebKit 是世界公認(rèn)的優(yōu)秀的開源瀏覽器內(nèi)核。具有渲染速度快,靈活可定制,多平臺(tái)支持等優(yōu)點(diǎn)。國內(nèi)知名的Maxthon 和 UCWeb 都將WebKit選作瀏覽器內(nèi)核。谷歌公司和蘋果公司也分別在WebKit 基礎(chǔ)上只做了Chrome 瀏覽器和Safari 瀏覽器。

     雖然WebKit 已經(jīng)越來越多的被廣大程序員接受,但其編譯過程卻非常之痛苦。下面將我編譯WebKit 代碼的經(jīng)驗(yàn)與大家分享。



1) 獲取WebKit 源代碼

      WebKit 源代碼是使用Subversion 工具做管理的。因此,只要具備Subversion 客戶端就可以從http://svn.webkit.org/repository/webkit/trunk 獲取源代碼。但是,這并不是最好的方式。在實(shí)際編譯過程中通過svn拿下來的代碼有可能為你帶來許多的煩惱。因此,我推薦從WebKit的Nightly build 直接下載WebKit 源代碼壓縮包。具體地址是:http://nightly.webkit.org/builds/trunk/src/1 像WebKit 這么大的項(xiàng)目仍然遵循Daily Build 的原則,真是挺了不起的。


      WebKit 源代碼在本文寫作時(shí),版本是r52221 但我最近兩天都沒有將該版本的WebKit編譯成功。原因是,使用Visual Studio 2005 打開項(xiàng)目幾分鐘后,Visual Studio 2005 會(huì)停止響應(yīng)。我測試過r50006版,也就是5字頭的第一版,就沒有這個(gè)問題。版本號(hào)越大說明源代碼越新,反之就越古老。




2) WebKit 編譯環(huán)境的搭建


     WebKit 網(wǎng)站有一篇文章說明了一下WebKit 在Windows 平臺(tái)下的環(huán)境搭建:http://webkit.org/building/tools.html 但這篇文章寫得也太過簡單了。這也是WebKit 最最蹂躪人的地方。我在歷經(jīng)十?dāng)?shù)次失敗之后,終于找到了通往目標(biāo)的捷徑。




  硬件方面


     內(nèi)存最好找一臺(tái)內(nèi)存大于2G的計(jì)算機(jī)。 因?yàn)閃ebKit 項(xiàng)目太過龐大了,會(huì)生成數(shù)以百計(jì)的.obj 文件。在執(zhí)行鏈接操作時(shí),內(nèi)存會(huì)需要大概1.6G內(nèi)存。如果你機(jī)器安裝的又是Vista 之類的吃內(nèi)存操作系統(tǒng),那就等著看link.exe 告訴你"Out of memory"吧。 我安裝了Vista的機(jī)器的內(nèi)存只有區(qū)區(qū)2G,鏈接了數(shù)次都沒有成功,最后逼得我在安全模式下(連網(wǎng)卡驅(qū)動(dòng)都沒敢加載)編譯,終于在內(nèi)存峰值到達(dá)1.99G 時(shí)涉險(xiǎn)過關(guān),真是太刺激了,太刺激了。


     硬盤當(dāng)然是越大越好,因?yàn)閃ebKit 源代碼展開后需要占用160M-190M磁盤空間,編譯過程產(chǎn)生的中間文件需要大約4G的存儲(chǔ)空間。外加上Cygwin Visual Studio 等占據(jù)的磁盤空間,這些還是挺大的。 最最重要的是系統(tǒng)盤最好預(yù)留出4G左右的空間。


     其實(shí)使用多核的CPU對編譯WebKit 也是有好處的,編譯腳本可以同時(shí)并行的調(diào)用cl.exe 編譯WebKit,大大縮短了編譯時(shí)間。



     軟件方面


  首先你需要安裝Visual Studio 2005 SP1 如果是Vista 或者Window 7 需要安裝 SP1 update for vista。 Visual C++ 2005 ExPRess 也是可以編譯WebKit的,但是需要單獨(dú)安裝 Platform SDK。 實(shí)踐證明WebKit 在Platform 5.0 6.0 上都可以編譯通過。


     這里也會(huì)引申出一個(gè)問題,如果你的機(jī)器上已經(jīng)安裝了Visual Studio 2008 怎么辦? 別擔(dān)心,Visual Studio 2005 和Visual Studio 2008 是可以共存的,并且Visual Studio 2005 可以在Viusal Studio 2008 之后安裝。但是,需要注意的是,當(dāng)Visual Studio 2005 在Visual Studio 2008 之后安裝后,WebKit 的perl腳本只會(huì)到 “系統(tǒng)盤/Program Files/Microsoft Visual Studio/” 下面去找VC 的bin文件夾(也就是cl.exe 所在文件夾)。如果你安裝的VS 2005 不在系統(tǒng)盤,需要將VC的bin文件夾拷貝到系統(tǒng)盤的那個(gè)目錄中去。


     在安裝完Visual Studio 2005 之后,需要安裝另一個(gè)大塊頭Cygwin。Cygwin實(shí)際上是在Windows 上模擬了一個(gè)Unix 環(huán)境。 安裝Cygwin最好不要直接使用Cygwin網(wǎng)站上給出的setup.exe 文件。而是使用WebKit.org網(wǎng)站上給出的cygwin-downloader 工具。 cygwin-downloader 會(huì)下載編譯WebKit 所需的101 個(gè)工具(現(xiàn)在可能又多了幾個(gè)),諸如perl、zlib、bash 等等。待下載完成后,再運(yùn)行Cygwin的安裝工具 Setup.exe 選擇從本地目錄安裝。請注意!Cygwin 要安裝到系統(tǒng)盤分區(qū)下,如C盤是系統(tǒng)盤,那么Cygwin就必須安裝在C:/cygwin 下。安裝完成后,大約會(huì)占據(jù)幾百兆的空間。


    下一步,仍需要安裝的是QuickTime SDK。 據(jù)有人說可以不安裝這個(gè)QuickTime SDK,但我發(fā)現(xiàn)如果不安裝的話WebKit 解決方案中的QTMovie 項(xiàng)目一定是無法編譯成功的。 QuickTime 一定要安裝在 系統(tǒng)盤:/Program Files/QucikTime SDK/ 下面,千萬別改動(dòng)安裝路徑。




    最后,在解壓縮WebKit 源代碼文件之后,還需要到webKit.org 站點(diǎn)下載 WebKitSupportLibrary.zip 文件,這個(gè)文件是一些第三方庫在Windows 平臺(tái)上預(yù)先編譯好的版本。供WebKit 鏈接時(shí)使用。下載后,zip文件無需解壓縮,直接放在WebKit的根目錄下即可。







編譯步驟


    1)  設(shè)定環(huán)境變量。將WEBKITLIBRARIESDIR設(shè)定為 WebKit 源代碼目錄/WebKitLibraries/win 路徑; 將WEBKITOUTPUTDIR 設(shè)為你打算要存放obj和dll 的輸出文件夾,當(dāng)然這個(gè)文件夾所在的分區(qū)至少要有4G的剩余空間。


    2)  執(zhí)行更新腳本。 請?jiān)谧烂嫔线\(yùn)行cygwin 的命令行窗口,然后通過CD 命令(和DOS的CD命令一樣) 跳轉(zhuǎn)至WebKit 源代碼目錄/WebKitTools/Scripts 文件夾下。比如,我的WebKit 源代碼放在F盤,就是 cd F:/WebKit/WebKitTools/Scripts/  運(yùn)行該目錄下的 Update-WebKit 和 Update-WebKit-Support-libs 兩個(gè)腳本。 很多博客上都沒有提到這個(gè)步驟,實(shí)際上這個(gè)步驟是能否成功編譯的關(guān)鍵。


    3)  成功執(zhí)行完上面兩步后,就可以使用Visual Studio 2005 打開位于 WebKit 源代碼目錄/WebKit/win/WebKit.vcproj/ 目錄下的 WebKit.sln 解決方案了。這個(gè)sln默認(rèn)帶有六個(gè)編譯配置 Debug、Debug_all、Debug_Cairo、Release、Debug_Internal、Release_Cairo。用Release 編譯出來的就是用蘋果自己的渲染引擎的版本,和Safari 的一致。 用Release_Cairo 編譯出來的是支持Cairo渲染引擎的版本,這個(gè)版本可以脫離蘋果的環(huán)境單獨(dú)跑,但同時(shí)也無法放到蘋果的Safari 環(huán)境中運(yùn)行。要想監(jiān)測編譯是否成功,可使用WinLauncher.exe 這個(gè)應(yīng)用程序加載WebKit 進(jìn)行測試。




先寫到這里,以后想起什么來再補(bǔ)充吧。





發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 聊城市| 江陵县| 香港| 卫辉市| 台北县| 琼中| 洞口县| 航空| 内丘县| 长顺县| 通江县| 来凤县| 六安市| 东阳市| 中超| 枣阳市| 克什克腾旗| 浙江省| 延边| 怀集县| 南部县| 霍林郭勒市| 江北区| 怀柔区| 依兰县| 宁德市| 桃源县| 百色市| 阳朔县| 新竹市| 大理市| 青神县| 霍州市| 黎城县| 合川市| 张掖市| 舟曲县| 图片| 桂阳县| 普定县| 阜新|