九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用Visual Studio 2010編譯WebKit


UPDATED 20140118:WebKit已經(jīng)支持使用VS2013來編譯啦!因此,如果使用VS2010來編譯最新的WebKit代碼會出現(xiàn)問題。還沒有安裝VS2013,但是,感覺只需將安裝VS2010的步驟更改為安裝2013就可以完成編譯WebKit了。另外,這里用VS2010編譯WebKit所遇到的問題應該還是有幫助的。


        一直有想編譯WebKit的想法,可以一直都沒有具體實施。最近,終于將WebKit給編譯通過了!雖然,只是編譯通過,只是學習WebKit開始的一小步,但是,感覺還是很爽的!

        印象中,感覺在Windows下編譯WebKit是很繁瑣復雜的。但是,在這次成功編譯WebKit的過程中發(fā)現(xiàn),只要相關(guān)工具安裝在“默認”的路徑上,成功編譯WebKit還是相對簡單容易的。只需要按照WebKit官方網(wǎng)站的文檔,就可以輕松編譯WebKit了(當然,還是會碰到一些小問題)。

        接下來,想根據(jù)這次編譯WebKit過程中所遇到問題的解決和總結(jié),說明一下編譯WebKit的步驟。

    分為以下幾方面來講述:


安裝開發(fā)工具


1、操作系統(tǒng)

    我使用的是Windows 8操作系統(tǒng)。當然,如果使用Windows 7/Vista肯定也是沒有問題的。

2、安裝June 2010 DirectX SDK

    下載并安裝June 2010 DirectX SDK。

    為什么要將DirectX SDK的安裝放在第一步呢?因為,DirectX SDK的安裝與Visual Studio 2010 sp1有一個沖突:C++ Runtime版本沖突。為了避開這個問題,就將安裝DirectX SDK放在安裝Visual Studio之前。如果大家是先安裝Visual Studio 2010 sp1的,在碰到DirectX SDK不能成功安裝時,可以查看這篇文章:"S1023" error when you install the DirectX SDK (June 2010)(http://support.microsoft.com/kb/2728613),以解決問題。

    另外,想說明一下,在Windows 8 SDK中,已經(jīng)包括了DirectX SDK。但是,因為,WebKit使用了一些最新的DirectX SDK沒有包括的部分,所以,還是需要安裝June 2010版本的DirectX SDK的。

3、安裝Visual Studio 2010

    1)安裝Visual Studio 2010Visual Studio 2010 express。

    2)安裝Visual Studio 2010 sp1。

    需要特別說明的是,建議將VS安裝在默認路徑的C盤,否則,在編譯WebKit時會遇到問題。當時,我就是沒有將VS安裝在C盤,所以,撲騰了一下。當然,這不是必須的。如果VS不是安裝在C盤,可以查看“Visual Studio沒有安裝在默認的C盤引發(fā)的問題”部分,以解決問題。

4、安裝Cygwin

    1)下載Cygwin壓縮包WebKit官方幫我們整理了一個包括WebKit所需工具的Cygwin壓縮包。使用這個壓縮包,就只會下載安裝WebKit所需要的工具集。

    2)解壓并運行cygwin-downloader.exe,以下載Cygwin所需文件。

    3)下載完后,運行setup.exe,安裝Cygwin。

    有幾點說明一下:

        a) “Choose A Download Source”,選擇“Install from Local Directory”。


        b)  Select Root Install Directory”,強烈建議按照默認的“C:\Cygwin”,否則,在編譯WebKit時會遇到許多問題。當時,我就是沒有將Cygwin安裝在默認路 徑上,在編譯時遇到許多的問題。當然,這不是必須的。如果Cygwin不是安裝在默認路徑上,可以查看“Cygwin沒有安裝在默認路徑(C:\Cygwin)而引發(fā)的問題”部分,以解決問題。


5、安裝QuikTimeQuickTime SDK

    1)下載并安裝QuickTime。

    2)下載并安裝QuickTime SDK。留意右邊的“Downloads and Tools”部分,點擊該處以查找資源下載。

    需要特別說明的是,建議將QuikTime SDK安裝在默認的C盤路徑上,否則,在編譯時會遇到問題。當然,這不是必須的。如果QuickTime SDK不是安裝在默認路徑上,可以查看“QuickTime SDK沒有安裝在默認的C盤而引發(fā)的問題”部分,以解決問題。

6、安裝Windows SDK

    為了安裝Debugging Tools for Windows,我直接安裝了Windows 8 SDK。這個步驟不是必須的??梢缘鹊浇?jīng)后需要用到Debugging Tools for Windows時,才安裝。

至此,編譯WebKit所需的開發(fā)工具,已安裝完成了!


獲取WebKit源代碼

    1)下載WebKit源代碼。運行cygwin終端,輸入以下命令,使用svn客戶端程序?qū)?/span>WebKit源代碼下載到本地(下載到用戶HOME目錄下的WebKit目錄)。

    svn checkout https://svn.webkit.org/repository/webkit/trunk WebKit

    2)下載WebKit所需的庫文件壓縮包。下載完后,不需要解壓,直接將其放到WebKit目錄下即可。

    3)更新WebKit源代碼。運行Cygwin終端,進入WebKit目錄,輸入以下命令,以更新WebKit源代碼。注意,在編譯前,必須執(zhí)行這一步驟。因為,第一次運行該命令時,會下載一些編譯WebKit所需要的額外的庫文件。

    ./Tools/Scripts/update-webkit

至此,開發(fā)工具和源代碼都已經(jīng)就緒了,可以開始編譯WebKit了!


編譯

    可以通過兩種方式編譯。

  • Cygwin命令行

        打開Cygwin終端,進入WebKit目錄,輸入以下命令,開始編譯WebKit(默認是release版本)。

        ./Tools/Scripts/build-webkit

        或

        ./Tools/Scripts/build-webkit --debug

  • Visual Studio

        使用Visual Studio 2010打開解決方案WebKit/Source/WebKit/WebKit.vcxproj/WebKit.sln。直接編譯解決方案即可。 

    這兩種方式應該是類似的,如果配置正確,在某種方式下編譯成功,在另一種方式下也會編譯成功的。


編譯鏈接問題處理


Visual Studio沒有安裝在默認的C盤引發(fā)的問題

    在使用Cygwin命令行開始編譯后,發(fā)現(xiàn)編譯馬上就中斷了。然后,有以下的錯誤提示:

    根據(jù)上面的提示,似乎是由于找不到VS程序而引發(fā)的出錯。我當時是將VS安裝在D盤的,沒有安裝在默認的C盤。另外,我安裝的是Visual Studio,沒有安裝Visual Studio Express,怎么去找VCExpress.exe呢?因此,根據(jù)錯誤提示,打開webkitdirs.pm文件,查看第1657行到底發(fā)生了什么。

    發(fā)現(xiàn),由于programFilesPath函數(shù)的返回值,從而,錯誤的進入了else分支。那么,再看看programFilesPath函數(shù)。

    發(fā)現(xiàn),其返回值是根據(jù)環(huán)境變量“PROGRAMFILES(X86)”等決定的。在我本機上輸出環(huán)境變量“PROGRAMFILES(X86)”,發(fā)現(xiàn)其值為“C:\Program Files (x86)”。結(jié)合上面的setupCygwinEnv函數(shù),可以確定就是因為programFilesPath值不對,導致了找不對VS程序,所以,最終走到了else分支??!

為了解決問題,我直接修改了上面的programFilesPath函數(shù),將賦值的那一行直接改為:

    做了以上修改后,問題解決!

    需要注意的是,如果VS安裝在默認的C盤,是不會有這個問題的。另外,如果是直接使用VS進行編譯,而不是使用Cygwin命令行編譯,應該也是不會有這個問題的。

Cygwin沒有安裝在默認路徑(C:\Cygwin)而引發(fā)的問題

    如果Cygwin沒有安裝在C盤,而是安裝在D盤(D:\Cygwin)導致碰到許多編譯鏈接問題!絕大多數(shù)的編譯問題都是這個問題引起的!問題提示類似于這樣:

    在我本機上輸出環(huán)境變量“SystemDrive”,發(fā)現(xiàn)其值為“C:”,而我的Cygwin是安裝在D盤的。這樣,相應命令當然是找不到的呀!

    為了解決這個問題,可以通過以下方式處理。

    1)使用Visual Studio 2010打開WebKit解決方案。

    2)通過VSProperty Manager窗口,快速的批量的修改配置(通過Property Manager,可以做到只更改一處,多處起效。例如,修改某處的配置,使得debugrelease配置都起作用!我一開始,沒有使用Property Manager修改配置,因此,會出現(xiàn)debug編譯通過,但是,release編譯不通過的問題)。

        a) 通過菜單View->Other Windows->Property Manager打開Property Manager窗口。打開后,Property Manager面板顯示如下:

        b) 定位到WTFGenerated項目,然后,依次展開,定位到common項。

        c) 雙擊common項,打開對話框。左邊定位到NMake項,在右邊即可看到與錯誤信息相關(guān)的內(nèi)容了。

        d) 依次對“Build Command Line”、“Rebuild All Commond Line”和“Clean Command Line”的內(nèi)容進行編輯,將兩處的Cygwin的安裝目錄路徑修正。以“Build Command Line”為例,修正前的內(nèi)容為:

        修正后的內(nèi)容為:

    3)通過VS,對WebKit解決方案進行對“%SystemDrive%\cygwin”的查找,并對相應之處進行替換。通過查找,發(fā)現(xiàn)共有19cmd文件(都是一些項目編譯前處理和編譯后處理命令行文件)滿足條件,因此,需要對這19.cmd文件的Cygwin目錄進行替換修正。

QuickTime SDK沒有安裝在默認的C盤而引發(fā)的問題

    如果QuickTime SDK沒有安裝在默認路徑,會導致QTMovieWin項目編譯不過??赏ㄟ^下述方法解決問題。

    1) 打開Property Manager窗口,并定位到QTMovieWin項目。

    2) 在QTMovieWin項目里,定位到QTMovieWinCommon項。

    3) 雙擊QTMoveWinCommon項,打開對話框。修改編譯配置的“Additional Include Directories”。將“$(ProgramFiles)/QuickTime SDK/includes”這一路徑修正為對應QuickTime SDK安裝目錄下的頭文件目錄。

    4) 修改鏈接配置的“Additional Library Directories”。將“$(ProgramFiles)/QuickTime SDK\LIbraries”這一路徑修正為對應QuickTime SDK安裝目錄下的庫文件目錄。

LocalizedStrings.cpp導致WebCore項目編譯不過

    編譯錯誤如下:

    對應的出錯源文件為WebCore項目下platform目錄下的LocalizedStrings.cpp文件:

    通過google發(fā)現(xiàn),是因為上述標出來的全角雙引號導致問題的。將這些全角雙引號直接替換為半角雙引號即可解決問題。

    另外,具體為什么會有問題呢?我猜可能與WEB_UI_STRING等宏的實現(xiàn)相關(guān),這就需要進一步查看代碼來定位問題了。

至此,無論通過Cygwin還是VS,都應該可以順利編譯通過了!


運行&調(diào)試

    運行Visual Studio 2010,打開WebKit解決方案,并將WinLauncher項目設(shè)置為啟動項目。按下F5,即可運行&調(diào)試WebKit

至此,我們不但可以編譯WebKit,還可以運行、調(diào)試WebKit了!


其他說明

    1、WebKit官方的安裝開發(fā)工具文檔里,提到的Cygwin DLLrelocate操作,我并沒有去執(zhí)行。也不太清楚什么情況下,才必須執(zhí)行這個操作。我想可以以后遇到問題時,再看看是否要去執(zhí)行這個操作。

    2、WebKit官方的安裝開發(fā)工具文檔里,提到的php的安裝(這個步驟原來的文檔里是沒有的,不知道什么情況文檔更新了這一塊內(nèi)容,20138月?20139月?)。我還沒有安裝,等以后需要時再安裝吧。

    3、因為我使用的操作系統(tǒng)是Windows 8,所以,沒有去安裝WebKit官方的安裝開發(fā)工具文檔里提到的一些補丁。我想對于Windows 8來說是不是已經(jīng)不需要的呢。

    4、WebKit官方支持的Visual Studio版本會不斷的升級。以前只支持Visual Studio 2005,現(xiàn)在支持Visual Studio 2010。但是,肯定不會去追最新的Visual Studio版本的。如果想使用最新的Visual Studio版本(例如,Visual Studio 2012)編譯最新的WebKit代碼,肯定是可行的,網(wǎng)上也有許多類似的文章(是不是關(guān)鍵在于WebKit的編譯腳本,可能需要進行一些修改?)。


資源下載

1、June 2010 DirectX SDK

http://www.microsoft.com/en-us/download/details.aspx?id=6812

2、Cygwin壓縮包 for WebKit

http://svn.webkit.org/repository/webkit/trunk/Tools/CygwinDownloader/cygwin-downloader.zip

3、QuickTime

http://www.apple.com/cn/quicktime/download/

4、QuickTime SDK

https://developer.apple.com/quicktime/

5、Windows 8 SDK

http://msdn.microsoft.com/en-US/windows/hardware/hh852363

6、WebKitSupportLibrary.zip

https://developer.apple.com/opensource/internet/webkit_sptlib_agree.html


參考

1、Installing Developer Tools

http://www.webkit.org/building/tools.html

2、Getting the Code

http://www.webkit.org/building/checkout.html

3、Building WebKit

http://www.webkit.org/building/build.html

4、Running WebKit

http://www.webkit.org/building/run.html

5、Debugging WebKit

http://www.webkit.org/building/debug.html

6、Property Manager

http://msdn.microsoft.com/en-us/library/ms173410(v=vs.90).aspx


本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[轉(zhuǎn)]WebKit 在 Windows 平臺下編譯小結(jié)
Wireshark編譯環(huán)境設(shè)置和編譯
Visual Studio 2017發(fā)布15.9版本更新
DirectX SDK版本與Visual Studio版本
VS2010 Chromium編譯
一種Windows下搭建QT開發(fā)環(huán)境的簡單方法
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服