Pro文件變量詳細說明,關(guān)于qmake的相關(guān)知識
學(xué)習(xí)Qt時,發(fā)現(xiàn)有些知識看了不經(jīng)常用就忘了,以下是書本上寫的一些關(guān)于qmake的相關(guān)知識,自己看后,打算把一些經(jīng)常用到的記下來,整理整理。
Qt程序一般使用Qt提供的qmake工具來編譯。
qmake工具可以使用與平臺無關(guān)的.pro文件生成與平臺相關(guān)的makefile。該工具包含了調(diào)用Qt內(nèi)置代碼生成工具(moc,uic,rcc)的必要邏輯規(guī)則。
?
可以在命令行下,輸入qmake -project來生成平臺無關(guān)的pro文件。
工程文件pro主要分為三種:app(單獨的應(yīng)用程序),lib(靜態(tài)和動態(tài)庫),subdirs(遞歸編譯)。工程類型可以使用TEMPLATE變量來指定。
如: TEMPLATE = app(默認不指定的情況下是app工程)
對于app工程或者lib工程,有以下這些經(jīng)常使用的變量:
HEADERS:指定C++頭文件
SOURCES:指定C++實現(xiàn)文件
FORMS:指定需要uic處理的ui文件
RESOURCES:指定需要rcc處理的qrc文件
DEFINES:指定預(yù)定義預(yù)處理器符號
INCLUDEPATH:指定C++編譯器搜索頭文件路徑
LIBS:指定工程要鏈接的庫
CONFIG:指定工程配置和編譯參數(shù)
QT:指定工程所要使用的Qt模塊
VERSION:指定目標庫版本號
TARGET:指定可執(zhí)行文件或庫的基本文件名,默認為當(dāng)前目錄名
DESTDIR:指定可執(zhí)行文件放置的目錄
DLLDESTDIR:指定目標庫文件放置的目錄
CONFIG:指定工程配置和編譯參數(shù)
以下對CONFIG變量做主要介紹:
debug:編譯有調(diào)試信息的可執(zhí)行文件或則庫
release:編譯不具有調(diào)試信息可執(zhí)行文件或者庫(如果同時指定debug release時,只有debug有效)
warn_off:關(guān)閉大量警告,默認是打開的
qt:指應(yīng)用程序使用Qt
dll:動態(tài)編譯庫
staticlib:靜態(tài)編譯庫
plugin:編譯一個插件
console:應(yīng)用程序需要寫控制臺
當(dāng)我們寫CONFIG變量時,可以使用
如:CONFIG = qt release warn_off
或者CONFIG = qt
????? CONFIG += release
????? CONFIG += warn_off
當(dāng)想要移除某個設(shè)置時:CONFIG -= warn_off
在pro文件里,可以使varName或者varName或者
{varName}來訪問自己定義的變量,如
MyVersion = 1.2
FILE = 1.cpp
TARGET = improve$${MyVersion}
SOURCES = $$FILE
pro文件里,訪問環(huán)境變量的用法是:$(varName)
pro文件里,訪問Qt配置參數(shù)的用法:$$[varName]
在不同的編譯平臺上編譯時,需要設(shè)定條件。如:
win32{
?SOURCES += 1.cpp
}else{
?SOURCES += 2.cpp
}
或者
win32:SOURCES += 3.cpp