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