詳解 QT 中.pro文件的寫法
QT 中.pro文件的寫法是本文要介紹的內(nèi)容,在QT中,有一個工具qmake可以生成一個makefile文件,它是由.pro文件生成而來的,.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)指定的所有選項是更安全的。
1、qt部分告訴qmake這個應(yīng)用程序是使用Qt來連編的。這也就是說qmake在連接和為編譯添加所需的包含路徑的時候會考慮到Qt庫的。
2、warn_on部分告訴qmake要把編譯器設(shè)置為輸出警告信息的。
3、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īng)的作用域來進(jìn)行處理。為Windows平臺添加的依賴平臺的文件的簡單的作用域看起來就像這樣:
- win32 {
- SOURCES += hello_win.cpp
- }
所以如果qmake運行在Windows上的時候,它就會把hello_win.cpp添加到源文件列表中。如果qmake運行在其它平臺上的時候,它會很簡單地把這部分忽略。
8、如果一個文件不存在,停止qmake
如果某一個文件不存在的時候,你也許不想生成一個Makefile。我們可以通過使用exists()函數(shù)來檢查一個文件是否存在。我們可以通過使用error()函數(shù)把正在運行的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īng)用程序的時候你想能夠看到qDebug()語句。除非你在連編你的程序的時候使用console設(shè)置,你不會看到輸出。我們可以很容易地把console添加到CONFIG行中,這樣在Windows下,Makefile就會有這個設(shè)置。但是如果告訴你我們只是想在當(dāng)我們的應(yīng)用程序運行在Windows下并且當(dāng)debug已經(jīng)在CONFIG行中的時候,添加console。這需要兩個嵌套的作用域;只要生成一個作用域,然后在它里面再生成另一個。把設(shè)置放在最里面的作用域里,就像這樣:
- win32 {
- debug {
- CONFIG += console
- }
- }
嵌套的作用域可以使用冒號連接起來,像這樣:
- win32:debug {
- CONFIG += console
- }
10、摸板
模板變量告訴qmake為這個應(yīng)用程序生成哪種makefile。下面是可供使用的選擇:
1、app -建立一個應(yīng)用程序的makefile。這是默認(rèn)值,所以如果模板沒有被指定,這個將被使用。
2、lib - 建立一個庫的makefile。
3、 vcapp - 建立一個應(yīng)用程序的VisualStudio項目文件。
4、vclib - 建立一個庫的VisualStudio項目文件。
4、 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
附加:
.pro 文件預(yù)定義宏設(shè)置
- CONFIG(release, debug|release) {
- DEFINES += MYRELEASE
- }
- else {
- DEFINES += MYDEBUG
- }
小結(jié):有關(guān)詳解 QT 中.pro文件的寫法的內(nèi)容介紹完了,希望本文對你有幫助,更多內(nèi)容請參考編輯推薦。


















