乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      親測(cè)VS2010純靜態(tài)編譯QT4.8.2,實(shí)現(xiàn)VS2010編譯調(diào)試Qt程序

       戴維圖書館 2014-08-09

      親測(cè)VS2010純靜態(tài)編譯QT4.8.2,實(shí)現(xiàn)VS2010編譯調(diào)試Qt程序

      2012-05-25 21:30 by Rollen Holt, 1270 閱讀, 1 評(píng)論, 收藏,  編輯

            下載源代碼,注意一定是源碼壓縮包如qt-everywhere-opensource-src-4.8.2.zip,不是Qt發(fā)布的已編譯的不同版本的標(biāo)準(zhǔn)庫(kù)如qt-win-opensource-4.8.0-vs2010.exe,這些版本都只是動(dòng)態(tài)編譯的,不是我們所需要的。只有用源碼包才能做真正的純靜態(tài)編譯,如果用Qt官網(wǎng)已編譯的標(biāo)準(zhǔn)庫(kù).exe文件進(jìn)行編譯,有可能出現(xiàn)各種錯(cuò)誤,而且編譯后的文件巨大,我當(dāng)時(shí)就在這里繞了很大的彎子,請(qǐng)童鞋們注意啦??!可能有些老鳥會(huì)笑話,但我本著最嚴(yán)肅的態(tài)度告訴菜鳥們,上網(wǎng)查資料看博客,一定要注意博文的文字細(xì)節(jié),有時(shí)候差幾個(gè)字就能讓你費(fèi)很大的勁,四處碰壁。

      首先解壓源碼包到你想要保存編譯的位置,注意文件目錄一定不能包含中文和空格!

            由于Qt4.8在VS環(huán)境下的一些問題,為了避免編譯中途出現(xiàn),我總結(jié)了3個(gè)地方需要修改。

      (1) 刪除源碼包中bin目錄下的syncqt和syncqt.dat文件,如你不放心可將其改名或剪切到別的位置。如不修改將發(fā)生 Perl not found in environment - cannot run syncqt 錯(cuò)誤。

      (2) 修改\mkspecs\win32-msvc2010下的qmake.conf文件,將其中的
      QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-改成QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t
      注意末尾的”-“號(hào)區(qū)別。如不修改將來(lái)如有項(xiàng)目使用wchar_t,qt卻編譯成wchar_t-,編譯會(huì)導(dǎo)致連接錯(cuò)誤,提示找不到Qwstring;
      QMAKE_CFLAGS_RELEASE,QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO,這2處后面的MD對(duì)應(yīng)改成MT,以實(shí)現(xiàn)在沒有VC庫(kù)的電腦也能運(yùn)行Qt程序。

      (3) 修改src\3rdparty\webkit\Source\WebCore\platform下的DefaultLocalizationStrategy.cpp,定位到327行,將本行替換成return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));(由于word自動(dòng)排版問題,請(qǐng)各位直接將以上英文部分一次性全復(fù)制,其實(shí)它們是一行,不要分行復(fù)制)。
      如不修改將出現(xiàn)編譯Webkit 時(shí)會(huì)出現(xiàn) U1077錯(cuò)誤。

            VS2010下純靜態(tài)編譯,需要再VS2010的命令提示符下進(jìn)行,我安裝的是中文版visual studio2010,我的打開步驟如下(英文版自己對(duì)號(hào)入座):開始->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010),打開的窗口如下:

      clip_image002

            上圖是VS2010自動(dòng)幫我配置好環(huán)境變量,已正常進(jìn)入VS2010的VC目錄。我當(dāng)初碰到過(guò)一次自動(dòng)配置環(huán)境變量錯(cuò)誤,在截圖的第二行出現(xiàn)一行英文,內(nèi)容大概是無(wú)法確定VC環(huán)境以及VC的位置,當(dāng)時(shí)查遍了各種資料以及嘗試網(wǎng)上的各種辦法,中文的外文的網(wǎng)站各種建議,都不可以,差點(diǎn)讓我失去信心。當(dāng)時(shí)一生氣,重啟電腦,出門走走又自己琢磨了好幾種方法,回來(lái)剛想試一試,沒想到重新打開命令提示符,居然又自動(dòng)可以了,真是驚喜啊。。最后想了想,當(dāng)時(shí)錯(cuò)誤可能是先裝了SDK,然后又胡亂根據(jù)網(wǎng)上的方法,手動(dòng)修改了電腦的環(huán)境變量,然后就出現(xiàn)這個(gè)問題。。后來(lái)再重啟電腦前,把之前手動(dòng)添加的環(huán)境變量統(tǒng)統(tǒng)刪了,重啟后重開命令提示符就恢復(fù)了。希望對(duì)有和我相同問題的童鞋能有所幫助。

      上一段是題外話,如果你的VS已經(jīng)自動(dòng)幫你配置好環(huán)境變量了,如上面截圖所示,則輸入命令進(jìn)入到源碼包的目錄下。這里教一些命令行新手,老鳥請(qǐng)直接跳過(guò),如你現(xiàn)在的目錄在C盤下,而你的源碼包在D盤,則輸入”d:”,回車,進(jìn)入到D盤。可以使用cd進(jìn)入你所要進(jìn)入的目錄中,如cd Qt\4.8.0,就能進(jìn)入到D:\Qt\4.8.0中,在各個(gè)目錄下,可以使用dir命令查看當(dāng)前目錄下的所有文件,如同linux下的ls命令。我進(jìn)入我的已解壓的源碼包目錄下,我已重命名為4.8.0了。命令提示符截圖如下:

      clip_image004

           接下來(lái)進(jìn)行編譯前的配置工作。執(zhí)行配置,完整命令如下:

      configure -debug-and-release -fast -static -platform win32-msvc2010 -no-qt3support -script -scripttools -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-sqlite -plugin-sql-sqlite -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -nomake demos -nomake examples -nomake docs –mp

            各個(gè)命令說(shuō)明請(qǐng)參照我的另一篇博文:Qt configure 參數(shù)不完全說(shuō)明http://www.cnblogs.com/elect-fans/archive/2012/03/28/2420647.html

      推薦將debug和release版本都編譯,那樣VS2010編譯調(diào)試Qt程序不會(huì)出現(xiàn)LINK錯(cuò)誤,本人親測(cè),有些人說(shuō)只要編譯release就可以了,但我個(gè)人覺得多編譯一個(gè)debug,就增加一點(diǎn)點(diǎn)空間,而且后面命令省掉了demos等文件的編譯,我最終編譯完成的文件也就3.6G,對(duì)于現(xiàn)在的電腦硬盤來(lái)說(shuō)都是毛毛雨了。命令最后的-nomake demos -nomake examples -nomake docs,不變異demos,exampls,docs文件,這樣既可以提高編譯速度,也能減小編譯后的體積。-mp適合多核用戶提高編譯速度,-fast也很重要,細(xì)節(jié)請(qǐng)看上面的博文。

      執(zhí)行配置,期間會(huì)詢問是否采用open source(開源版本),還是商業(yè)版本,輸入”o”選擇開源版本;詢問是否同意條款,輸入”y”表示同意,開始執(zhí)行配置過(guò)程,直到提示配置完成,可以下一步nmake,以開始執(zhí)行編譯。

            輸入nmake,執(zhí)行編譯,編譯過(guò)程數(shù)個(gè)小時(shí)(具體看個(gè)人電腦配置),編譯時(shí)最好關(guān)閉防火墻,360之類的,你可以做別的事情了,看看網(wǎng)頁(yè),電影之類的,但不要運(yùn)行大型程序,不然會(huì)嚴(yán)重降低編譯速度。

      clip_image006

           編譯成功結(jié)束,如同上圖所示,可以關(guān)閉命令提示符了。我之前在看網(wǎng)上的資料,執(zhí)行nmake clean,nmake confclean,結(jié)果造成后面VS2010編譯Qt程序以及QtSDK編譯程序出現(xiàn)各種問題,如找不到config.h,qtmaind.lib等等。所以強(qiáng)烈建議,編譯成功就到此結(jié)束,不要執(zhí)行上述兩個(gè)清理工作。之前還嘗試在configure添加-prex 指定nmake install安裝目錄,后經(jīng)實(shí)驗(yàn),編譯后,的確可以實(shí)現(xiàn)編譯完成后能實(shí)現(xiàn)靜態(tài)庫(kù)鏈接,且在QtCreator編譯出靜態(tài)程序,但是在VS2010編譯程序時(shí),出現(xiàn)很多找不到PDB的警告,所以舍棄之。

      更多鏈接請(qǐng)光臨我的博客:http://www.cnblogs.com/elect-fans/

            接下來(lái)安裝VS插件,安裝文件為qt-vs-addin-1.1.10.exe,以下是安裝過(guò)程以及安裝的選項(xiàng)。

      clip_image007

      clip_image008

      安裝完成后,打開VS2010,可以通過(guò)QT菜單進(jìn)行QT編譯庫(kù)定位以及打開pro工程文件,也可以通過(guò)新建工程項(xiàng)目來(lái)創(chuàng)建QT工程。

      clip_image010

      clip_image011

      clip_image013

            打開QT工程后,稍稍等待左下角提示關(guān)聯(lián)文件包含提示結(jié)束,出現(xiàn)“就緒”的提示后,即可像編譯普通VC程序一樣,點(diǎn)“編譯”按鍵進(jìn)行編譯以及通過(guò)調(diào)試菜單進(jìn)行調(diào)試。注意通過(guò)VS2010主要用于調(diào)試,要想發(fā)布最終的靜態(tài)鏈接程序,最好通過(guò)QTSDK中的QTCreator來(lái)發(fā)布。

            安裝QtSDK,以下是安裝過(guò)程以及安裝選項(xiàng):

      clip_image014

      clip_image015

      clip_image016

             安裝完成后,打開QtCreator中,在菜單”工具”->”選項(xiàng)”->”構(gòu)建和運(yùn)行”->”Qt版本”,手動(dòng)添加剛才靜態(tài)編譯的QT的qmake.exe工具。

      clip_image018

      clip_image020

                配置完成,接下來(lái)就可以打開Qt工程,通過(guò)項(xiàng)目設(shè)置來(lái)發(fā)布靜態(tài)鏈接的Qt程序咯?。?/p>


      ==============================================================================
      我喜歡程序員,他們單純、固執(zhí)、容易體會(huì)到成就感;面對(duì)壓力,能夠挑燈夜戰(zhàn)不眠不休;面對(duì)困難,能夠迎難而上挑戰(zhàn)自我。他
      們也會(huì)感到困惑與傍徨,但每個(gè)程序員的心中都有一個(gè)比爾蓋茨或是喬布斯的夢(mèng)想“用智慧開創(chuàng)屬于自己的事業(yè)”。我想說(shuō)的是,其
      實(shí)我是一個(gè)程序員

      ==============================================================================

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(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)論公約

        類似文章 更多