• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 28, comments - 179, trackbacks - 0, articles - 1
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            Qt3.3.8編譯記錄

            Posted on 2007-06-26 14:22 chemz 閱讀(6331) 評(píng)論(8)  編輯 收藏 引用 所屬分類(lèi): C++
                                            Qt3.3.8編譯記錄
                Qt3.3.8是Qt3系列中的最后一個(gè)版本,后續(xù)已經(jīng)不再有更新版本了,雖然目前Qt4系列
            的版本已經(jīng)發(fā)布了Qt4.3.0版,但是基本上來(lái)說(shuō)大多數(shù)的開(kāi)發(fā)者還是處于Qt3的系列,同時(shí)也
            因?yàn)樵诜荳indows環(huán)境下(如:Linux、Unix等)大部分默認(rèn)提供的Qt還是基于Qt3的版本,我
            個(gè)人原來(lái)主要采用Qt3.3.4版本作為主要的開(kāi)發(fā)版本,而在Qt3.3.8版以前的Qt3并沒(méi)有提供針
            對(duì)msvc2005的編譯配置,所以基本上來(lái)講很難在2005環(huán)境下使用Qt3(雖然我采用msvc2003和
            2005聯(lián)合編譯成功了Qt3,但還是很麻煩的)。這里專(zhuān)門(mén)介紹一下Qt3.3.8版在msvc2005下的
            編譯過(guò)程,以避免出現(xiàn)錯(cuò)誤。
            1. 安裝Qt3.3.8的commercial版本的源代碼
               不象Qt4那樣沒(méi)有提供安裝程序,Qt3還是有一個(gè)比較方便的安裝程序的。在安裝的過(guò)程中
               需要注意的就是有如下幾點(diǎn):
               1.1. 必須要開(kāi)啟一個(gè)console窗口,并將msvc2005的環(huán)境腳本vcvarsall.bat在該console
                    中運(yùn)行以設(shè)置好環(huán)境變量,然后才能在該console窗口中運(yùn)行安裝程序,如果僅僅
                    通過(guò)雙擊運(yùn)行安裝程序會(huì)導(dǎo)致很多環(huán)境變量沒(méi)有設(shè)置并且無(wú)法自動(dòng)識(shí)別目前的msvc
                    的版本,這樣一來(lái)安裝后的Qt的環(huán)境變量是不完整的;
               1.2. 在選擇安裝目錄的配置頁(yè)面中,選擇跳過(guò)所有的構(gòu)建過(guò)程,如果不選擇會(huì)在安裝后
                    自動(dòng)進(jìn)行源代碼的編譯構(gòu)建,而這樣出來(lái)的庫(kù)基本上是不符合開(kāi)發(fā)需要的;
               1.3. 運(yùn)行安裝程序后在Wizard的配置頁(yè)面中,必須選者debug版本,否則會(huì)導(dǎo)致無(wú)法生成
                    調(diào)試版本而影響開(kāi)發(fā)調(diào)試;同時(shí)在配置頁(yè)面的高級(jí)標(biāo)簽選項(xiàng)下可以更具需要進(jìn)行具
                    體的細(xì)節(jié)配置,但一般情況下RTTI和exception時(shí)必須要選擇的,否則無(wú)法使用C++
                    的運(yùn)行時(shí)和異常處理機(jī)制。
               1.4. 安裝成功后,最好檢查一下在系統(tǒng)的環(huán)境變量中是否已經(jīng)成功地配置了Qt需要的變
                    量,主要有三個(gè)地方需要注意:QTDIR是否正確的設(shè)置成了安裝路徑
                    (如:d:\Qt\3.3.8)、QMAKESPEC是否正確的設(shè)置成了win32-msvc2005,最后PATH
                    變量中是否正確的包含了Qt的bin路徑(如:d:\Qt\3.3.8\bin)。
            2. 配置整個(gè)Qt工程
               在console窗口中進(jìn)入到安裝目錄下(如:d:\Qt\3.3.8),首先必須完成配置過(guò)程以便
               生成需要的msvc2005的工程文件,鍵入如下的命令即可:
                   configure -redo
               這樣一來(lái)會(huì)自動(dòng)地生成所需要的工程文件、Makefile和qmake程序,但并沒(méi)有進(jìn)行任何庫(kù)
               的構(gòu)建;
            3. 編譯Qt庫(kù)
               運(yùn)行msvc2005開(kāi)發(fā)環(huán)境,打開(kāi)$(QTDIR)\src目錄下的qt-mt.vcproj工程并保存已形成
               一個(gè)解決方案qt-mt.sln,然后在該解決方案中加入相同目錄下的qtmain.vcproj工程。
               此時(shí)qt-mt和qtmain的項(xiàng)目配置是不可用的,需要進(jìn)行很多的調(diào)整,下面分別就debug/release
               兩個(gè)版本進(jìn)行說(shuō)明:
               3.1. debug版
                    將“常規(guī)”選項(xiàng)中的“中間目錄”設(shè)置成為:“tmp\obj\debug_mt_shared\”;
                    將“C/C++”選項(xiàng)下的“輸出文件”選項(xiàng)中的“ASM列表位置”和“對(duì)象文件名”設(shè)置成為:
                                                                “tmp\obj\release_mt_shared”;
                    將“鏈接器”選項(xiàng)下的“常規(guī)”選項(xiàng)中的“輸出文件”設(shè)置成為:“$(QTDIR)\lib\qt-mtd338.dll”;
                    將“鏈接器”選項(xiàng)下的“調(diào)試”選項(xiàng)中的“生成程序數(shù)據(jù)庫(kù)文件”設(shè)置成為:“$(QTDIR)\lib\qt-mtd338.pdb”;
                    將“鏈接器”選項(xiàng)下的“高級(jí)”選項(xiàng)中的“導(dǎo)入庫(kù)”設(shè)置成為:“$(QTDIR)\lib\qt-mtd338.lib”。
               3.2. release版
                    將“常規(guī)”選項(xiàng)中的“中間目錄”設(shè)置成為:“tmp\obj\release_mt_shared\”;
                    將“C/C++”選項(xiàng)下的“優(yōu)化”選項(xiàng)中的“優(yōu)化”設(shè)置成為:“最小化大小(/O1)”;
                    將“C/C++”選項(xiàng)下的“預(yù)處理器”選項(xiàng)中的“預(yù)處理器定義”中添加:QT_NO_DEBUG;
                    將“C/C++”選項(xiàng)下的“代碼生成”選項(xiàng)中的“運(yùn)行時(shí)庫(kù)”設(shè)置成為:“多線程DLL(/MD)”;
                    將“C/C++”選項(xiàng)下的“輸出文件”選項(xiàng)中的“ASM列表位置”和“對(duì)象文件名”設(shè)置成為:
                                                                “tmp\obj\release_mt_shared”;
                    將“鏈接器”選項(xiàng)下的“常規(guī)”選項(xiàng)中的“輸出文件”設(shè)置成為:“$(QTDIR)\lib\qt-mt338.dll";
                    將“鏈接器”選項(xiàng)下的“輸入”選項(xiàng)中的“延遲加載的DLL”設(shè)置成為:
                            “opengl32.dll;comdlg32.dll;oleaut32.dll;winmm.dll;wsock32.dll;winspool.dll”;
                    將“鏈接器”選項(xiàng)下的“調(diào)試”選項(xiàng)中的“生成調(diào)試信息”設(shè)置成為:“是(/DEBUG)”;
                    將“鏈接器”選項(xiàng)下的“調(diào)試”選項(xiàng)中的“生成程序數(shù)據(jù)庫(kù)文件”設(shè)置成為:“$(QTDIR)\lib\qt-mt338.pdb”;
                    將“鏈接器”選項(xiàng)下的“高級(jí)”選項(xiàng)中的“導(dǎo)入庫(kù)”設(shè)置成為:“$(QTDIR)\lib\qt-mt338.lib”。
               對(duì)于qtmain工程也需要做對(duì)應(yīng)的配置:
               3.3. debug版
                    將“常規(guī)”選項(xiàng)中的“中間目錄”設(shè)置成為:“tmp\obj\debug_mt_shared\”;
                    將“C/C++”選項(xiàng)下的“輸出文件”選項(xiàng)中的“ASM列表位置”和“對(duì)象文件名”設(shè)置成為:
                                                                “tmp\obj\release_mt_shared”;
                    將“管理員”選項(xiàng)下的“常規(guī)”選項(xiàng)中的“輸出文件”設(shè)置成為:“$(QTDIR)\lib\qtmaind.lib”;
               3.4. release版
                    將“常規(guī)”選項(xiàng)中的“中間目錄”設(shè)置成為:“tmp\obj\release_mt_shared\”;
                    將“C/C++”選項(xiàng)下的“優(yōu)化”選項(xiàng)中的“優(yōu)化”設(shè)置成為:“最小化大小(/O1)”;
                    將“C/C++”選項(xiàng)下的“預(yù)處理器”選項(xiàng)中的“預(yù)處理器定義”中添加:QT_NO_DEBUG;
                    將“C/C++”選項(xiàng)下的“代碼生成”選項(xiàng)中的“運(yùn)行時(shí)庫(kù)”設(shè)置成為:“多線程DLL(/MD)”;
                    將“C/C++”選項(xiàng)下的“輸出文件”選項(xiàng)中的“ASM列表位置”和“對(duì)象文件名”設(shè)置成為:
                                                                “tmp\obj\release_mt_shared”;
                    將“管理員”選項(xiàng)下的“常規(guī)”選項(xiàng)中的“輸出文件”設(shè)置成為:“$(QTDIR)\lib\qtmain.lib”;
               完成了上述所有的配置后就要以進(jìn)行編譯了,通過(guò)msvc2005的批生成完成所有工程所有
               版本的編譯,編譯成功后會(huì)在$(QTDIR)\lib目錄下包含*.lib和*.dll同時(shí)在$(QTDIR)\bin
               目錄下包含*.dll文件;
            4. 編譯支持工具集
               上面僅僅編譯了Qt的庫(kù),對(duì)于開(kāi)發(fā)使用的各種開(kāi)發(fā)工具(如:designer、assistant等)
               還需要進(jìn)行編譯。同樣在前面的console窗口中進(jìn)入到$(QTDIR)\tools目錄下運(yùn)行如下的
               命令行:
                   nmake
               這樣就可以進(jìn)行編譯了,至于Qt的例子工程可以考慮在需要哪一個(gè)例子的時(shí)候單獨(dú)的進(jìn)
               行編譯。

            注:配置中的引號(hào)是不能夠輸入的,只能輸入引號(hào)里面的內(nèi)容。


            Feedback

            # re: Qt3.3.8編譯記錄  回復(fù)  更多評(píng)論   

            2007-07-21 00:08 by re: Qt3.3.8編譯記錄
            裝個(gè)vc6啥問(wèn)題都不會(huì)有了。

            # re: Qt3.3.8編譯記錄  回復(fù)  更多評(píng)論   

            2009-04-21 16:25 by 仁者
            博主,你好
            我一直再尋找 Qt3.3.8 這個(gè)版本,但一直未找到,能否給我一個(gè)。
            我的QQ郵箱 174083588@qq.com,不勝感激!

            # re: Qt3.3.8編譯記錄  回復(fù)  更多評(píng)論   

            2009-12-04 11:35 by 許智全
            能否也給我一個(gè),謝謝!

            # re: Qt3.3.8編譯記錄  回復(fù)  更多評(píng)論   

            2009-12-04 11:37 by 許智全
            我郵箱xuzhiquan1@163.com,謝謝

            # re: Qt3.3.8編譯記錄  回復(fù)  更多評(píng)論   

            2009-12-17 14:02 by 郭燕輝
            能否也給我一個(gè)啊?guoyanhui2009@163.com

            # re: Qt3.3.8編譯記錄  回復(fù)  更多評(píng)論   

            2010-04-12 19:00 by iwcome
            能否也給我一個(gè)啊?iwcome@163.com

            # re: Qt3.3.8編譯記錄  回復(fù)  更多評(píng)論   

            2012-03-19 14:02 by linmeng
            能否給發(fā)一個(gè)3.3.8,謝謝
            26980183@163.com

            # re: Qt3.3.8編譯記錄  回復(fù)  更多評(píng)論   

            2015-02-05 10:41 by 陳令彪
            window下的QT3.3.8 編譯環(huán)境能否給我發(fā)一個(gè),謝謝您了
            郵箱:511855362@qq.com
            不勝感激
            也可以電話聯(lián)系我,18510514627,我很需要
            囯产精品久久久久久久久蜜桃| 韩国三级中文字幕hd久久精品 | 国产精品美女久久久久av爽| 国产精品久久成人影院| 国产精品国色综合久久| 久久国产精品无码网站| 精品熟女少妇AV免费久久| 久久青青草原综合伊人| 中文精品99久久国产| 久久精品国产91久久麻豆自制 | 97久久久久人妻精品专区 | 精品多毛少妇人妻AV免费久久| 久久精品www人人爽人人| 国内精品伊人久久久久网站| 无码日韩人妻精品久久蜜桃| 欧美亚洲另类久久综合婷婷| 国内精品久久人妻互换| 97久久婷婷五月综合色d啪蜜芽| 亚洲综合久久综合激情久久| 久久久www免费人成精品| 国产成人精品久久亚洲高清不卡| 97久久国产综合精品女不卡| 色欲综合久久躁天天躁| 国产高清美女一级a毛片久久w| 亚洲精品无码久久久久久| 欧美国产成人久久精品| 久久国产精品免费| 精品久久久久久无码国产| 九九99精品久久久久久| 国产精品久久久久久久久免费| 亚洲精品无码久久久久久| 久久人人爽人人爽人人片AV高清| 久久久久国产精品三级网| 精品久久久久久99人妻| 国产一级持黄大片99久久| 国产精品18久久久久久vr| 国产欧美久久一区二区| 色综合色天天久久婷婷基地| 人人狠狠综合久久亚洲婷婷| 国产AⅤ精品一区二区三区久久| 婷婷综合久久狠狠色99h|