***.pro是Qt的工程文件,這個文件是給qmake用來生成Makefile用的。Makefile的三個關鍵點就是目標
,依賴
,命令
,這裏也很類似。.pro文件中可以指明這個Qt項目的頭文件
,源文件
,鏈接的外部庫
,目標文件名
,模板(生成什麼樣的Makefile)
,版本配置(debug/release)
等。下面是關於*.pro文件常用的定義:
.pro中變量 | 含義 | 示例 |
---|---|---|
TEMPLATE | 模板變量指定生成makefile(app:應用程序/lib:庫) | TEMPLATE = app |
QT | 使用到的Qt定義的類(core/gui/widgets...) | QT += widgtes |
DESTDIR | 指定生成的應用程序放置的目錄 | DESTDIR += ../bin |
TARGET | 指定生成的應用程序名 | TARGET = hello |
HEADERS | 工程中包含的頭文件 | HEADERS += hello.h |
FORMS | 工程中包含的.ui設計文件 | FORMS += hello.ui |
SOURCES | 工程中包含的源文件 | SOURCES += main.cpp hello.cpp |
RESOURCES | 工程中包含的資源文件 | RESOURCES += qrc/hello.qrc |
LIBS | 引入的lib文件的路徑 -L:引入路徑 | LIBS += -L. |
CONFIG | 用來告訴qmake關於應用程序的配置信息 | CONFIG+= qt warn_on release |
UI_DIR | 指定.ui文件轉化成ui_*.h 文件的存放目錄 |
UI_DIR += forms |
RCC_DIR | 指定將.qrc文件轉換成qrc_*.h 文件的存放目錄 |
RCC_DIR += ../tmp |
MOC_DIR | 指定將含Q_OBJECT的頭文件轉換成標準.h文件的存放目錄 | MOC_DIR += ../tmp |
OBJECTS_DIR | 指定目標文件(obj)的存放目錄 | OBJECTS_DIR += ../tmp |
DEPENDPATH | 程序編譯時依賴的相關路徑 | DEPENDPATH += . forms include qrc sources |
INCLUDEPATH | 頭文件包含路徑 | INCLUDEPATH += . |
DEFINES | 增加預處理器宏(gcc的-D選項)。 | DEFINES += USE_MY_STUFF |
QMAKE_CFLAGS | 設置c編譯器flag參數 | QMAKE_CFLAGS += -g |
QMAKE_CXXFLAGS | 設置c++編譯器flag參數 | QMAKE_CXXFLAGS += -g |
QMAKE_LFLAGS | 設置鏈接器flag參數 | QMAKE_LFLAGS += -rdynamic |
補充說明:
【註釋】
從“#”開始,到這一行結束。
【模板變量】
告訴qmake爲這個應用程序生成哪種makefile。下面是可供使用的選擇:
TEMPLATE = app
app:建立一個應用程序的makefile。這是默認值,所以如果模板沒有被指定,這個將被使用。
lib:建立一個庫的makefile。
vcapp:建立一個應用程序的VisualStudio項目文件。
vclib:建立一個庫的VisualStudio項目文件。
subdirs :這是一個特殊的模板,它可以創建一個能夠進入特定目錄並且爲一個項目文件生成makefile並且爲它調用make的makefile。