• <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>
            Cpper
            C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿
            QT中 .pro文件的寫法如下:


            1. 注釋
            從“#”開始,到這一行結(jié)束。


            2. 指定源文件
            SOURCES = *.cpp

            對于多源文件,可用空格分開,如:SOURCES = 1.cpp 2.cpp3.cpp
            或者每一個文件可以被列在一個分開的行里面,通過反斜線另起一行,就像這樣:

            SOURCES = hello.cpp \
                              main.cpp
            還有一種是這樣

                SOURCES+= hello.cpp
                SOURCES +=main.cpp

            這種方法中使用“+=”比“=”更安全,因為它只是向已有的列表中添加新的文件,而不是替換整個列表。


            3. 指定頭文件
            HEADERS = hello.h或者HEADERS += hello.h

            列出源文件的任何一個方法對頭文件也都適用。


            4. 配置信息
            CONFIG用來告訴qmake關(guān)于應(yīng)用程序的配置信息。

                CONFIG+= qt warn_on release

            在這里使用“+=”,是因為我們添加我們的配置選項到任何一個已經(jīng)存在中。這樣做比使用“=”那樣替換已經(jīng)指定的所有選項是更安全的。
            A> qt部分告訴qmake這個應(yīng)用程序是使用Qt來連編的。這也就是說qmake在連接和為編譯添加所需的包含路徑的時候會考慮到Qt庫的。
            B> warn_on部分告訴qmake要把編譯器設(shè)置為輸出警告信息的。
            C> release部分告訴qmake應(yīng)用程序必須被連編為一個發(fā)布的應(yīng)用程序。在開發(fā)過程中,程序員也可以使用debug來替換release


            5. 指定目標(biāo)文件名
            TARGET = filename

            如果不設(shè)置該項目,目標(biāo)名會被自動設(shè)置為跟項目文件一樣的名稱


            6. 添加界面文件(ui)
            INTERFACES = filename.ui


            7. 平臺相關(guān)性處理
            我們在這里需要做的是根據(jù)qmake所運(yùn)行的平臺來使用相應(yīng)的作用域來進(jìn)行處理。為Windows平臺添加的依賴平臺的文件的簡單的作用域看起來就像這樣:

            win32 {
            SOURCES += hello_win.cpp
            }

            所以如果qmake運(yùn)行在Windows上的時候,它就會把hello_win.cpp添加到源文件列表中。如果qmake運(yùn)行在其它平臺上的時候,它會很簡單地把這部分忽略。


            8. 如果一個文件不存在,停止qmake
            如果某一個文件不存在的 時候,你也許不想生成一個Makefile。我們可以通過使用exists()函數(shù)來檢查一個文件是否存在。我們可以通過使用error()函數(shù)把正在運(yùn) 行的qmake停下來。這和作用域的工作方式一樣。只要很簡單地用這個函數(shù)來替換作用域條件。對main.cpp文件的檢查就像這樣:

            !exists( main.cpp ) {
              error( "No main.cpp file found")
            }

            “!”用來否定這個測試,比如,如果文件存在,exists( main.cpp)是真,如果文件不存在,!exists( main.cpp )是真。


            9. 檢查多于一個的條件
            假設(shè)你使用Windows并且當(dāng)你在命令 行運(yùn)行你的應(yīng)用程序的時候你想能夠看到qDebug()語句。除非你在連編你的程序的時候使用console設(shè)置,你不會看到輸出。我們可以很容易地把 console添加到CONFIG行中,這樣在Windows下,Makefile就會有這個設(shè)置。但是如果告訴你我們只是想在當(dāng)我們的應(yīng)用程序運(yùn)行在 Windows下并且當(dāng)debug已經(jīng)在CONFIG行中的時候,添加console。這需要兩個嵌套的作用域;只要生成一個作用域,然后在它里面再生成 另一個。把設(shè)置放在最里面的作用域里,就像這樣:

            win32 {
              debug {
                 CONFIG += console
              }
            }

            嵌套的作用域可以使用冒號連接起來,像這樣:

            win32:debug {
            CONFIG += console
            }


            10. 摸板
            模板變量告訴qmake為這個應(yīng)用程序生成哪種makefile。下面是可供使用的選擇:

            A> app -建立一個應(yīng)用程序的makefile。這是默認(rèn)值,所以如果模板沒有被指定,這個將被使用。
            B> lib - 建立一個庫的makefile。
            C> vcapp - 建立一個應(yīng)用程序的VisualStudio項目文件。
            D> vclib - 建立一個庫的VisualStudio項目文件。
            E> subdirs -這是一個特殊的模板,它可以創(chuàng)建一個能夠進(jìn)入特定目錄并且為一個項目文件生成makefile并且為它調(diào)用make的makefile。


            11. 生成Makefile
            當(dāng)你已經(jīng)創(chuàng)建好你的項目文件,生成Makefile就很容易了,你所要做的就是先到你所生成的項目文件那里然后輸入:

            Makefile可以像這樣由“.pro”文件生成:

                qmake -oMakefile hello.pro

            對于VisualStudio的用戶,qmake也可以生成“.dsp”文件,例如:

                qmake -tvcapp -o hello.dsp hello.pro
            posted on 2011-11-26 21:50 ccsdu2009 閱讀(644) 評論(0)  編輯 收藏 引用 所屬分類: QT編程
             
            四虎国产永久免费久久| 久久久久人妻一区精品色| 国产精品熟女福利久久AV| 久久精品国产一区二区三区| 久久综合日本熟妇| 蜜臀久久99精品久久久久久小说| 国产成人久久激情91| 青青热久久国产久精品| 伊人久久大香线蕉AV色婷婷色| 国产∨亚洲V天堂无码久久久| 久久99精品久久久久久9蜜桃| 久久久久国产精品嫩草影院| 日韩欧美亚洲综合久久影院d3| 免费一级欧美大片久久网| 精品久久久久香蕉网| 久久久久亚洲精品中文字幕| 国产Av激情久久无码天堂| 久久毛片一区二区| 久久久久久一区国产精品| 久久精品aⅴ无码中文字字幕重口| 日批日出水久久亚洲精品tv| 久久亚洲精品视频| 久久99精品久久久久久久不卡| 伊色综合久久之综合久久| 国产精品九九久久免费视频| 99久久婷婷国产综合亚洲| 97久久国产露脸精品国产| 欧美与黑人午夜性猛交久久久| 一本久久a久久精品综合夜夜| 久久青青草原亚洲av无码app| 久久精品亚洲AV久久久无码| 亚洲欧美日韩久久精品| 久久精品国产一区二区三区| 精品久久久久久久久久中文字幕| 久久国产精品99精品国产987| 久久久久亚洲av无码专区喷水| 国产美女亚洲精品久久久综合| 久久九九久精品国产免费直播| 久久久国产99久久国产一| 中文字幕精品久久久久人妻| 一级做a爰片久久毛片免费陪|