Qt的.pro文件格式解析
Qt的.pro文件格式解析
在Qt中用qmake生成makefile文件,它是由.pro文件生成而來的,.pro文件的具體格式語法如下:
1.注釋
.pro文件中注釋採用#號,從「#」號開始,到該行的結束,例如:
2.模板TEMPLATE
模板變數告訴qmake為這個應用程式生成那種makefile文件。下面是可提供使用的選擇:
TEMPLATE=app
- app-建立一個應用程式的makefile。這是個默認值,所以如果模板沒有被指定,該模板將會被使用。
- lib -建立一個庫的makefile。
- vcapp -建立一個應用程式的Visual Studio項目文件。
- vclib -建立一個庫的VisualStudio項目文件。
- subdirs -這是一個特殊的模板,它可以創建一個能夠進入特定目錄並且為一個項目文件生成makefile,並且為它調用make的makefile。
3.添加文件路徑
-
HEADERS +=
用來添加頭文件 -
SOURCES +=
用來添加源文件 -
FORMS +=
用來添加 ui 文件 -
RESOURCES +=
用來添加資源文件 -
INCLUDEPATH +=
用來存放添加頭文件的路徑 -
DEPENDPATH +=
用來添加依賴相關路徑 -
LIBS +=
用來添加庫文件
注意:
INCLUDEPATH一般用在添加第三方 .dll 的時候所需的頭文件路徑;
HEADERS用來添加當前項目的路徑;
LIBS += -LC:/Windows/System32/ -luser32
格式為:-L 路徑 -l 庫名
庫比較多的時候可以用 \來達到換行目的
引用相對路徑的庫文件的時候,$$PWD 指的是項目 .pro 文件所在的路徑,`$$OUT_PWD` 指的是編譯的目標所在的路徑。如果不清楚路徑,可以使用 message($$PWD) 列印路徑查看絕對路徑。
DESTDIR +=
指定生成的應用程式的存放目錄。TARGET =
指定生成的應用程式的名字。UI_DIR +=
用來存放編譯的時候 ui 生成的 ui_*.h 文件。RCC_DIR +=
存放 .qrc 生成的 qrc_*.h 文件。MOC_DIR +=
用來存放 moc 命令轉換添加的Q_OBJECT
的 .h 文件為標準 .h 文件的存放路徑。OBJECTS_DIR +=
用來存放目標文件 .obj 存放的路徑。
註:
UI_DIR
、RCC_DIR
、 MOC_DIR
、OBJECTS_DIR
可以認為都是用來存放中間文件,只是存放的中間文件有所不同,不指定的話默認會存放在 .pro 文件所在的路徑,顯得工程看起來比較亂
4.添加配置資訊
CONFIG +=
用來指的應用程式的配置資訊。
參數 | 說明 |
---|---|
release | 項目被聯編為一個發布的應用程式 |
debug | 項目被聯編為一個debug的應用程式,debug 和 release 同時設置的時候,最後面的一個生效 |
debug_and_release | 項目被聯編為 debug 和 release |
warn_on | 編譯器輸出儘可能多的警告資訊 |
c++11 | 支援 c++11 的標準 |
thread | 支援執行緒,當 CONFIG 參數包含 qt 的時候,這個是默認支援的 |
5.實例
TEMPLATE = app
LANGUAGE = C++
QT += widgets xml sql network opengl
CONFIG += qt warn_on release
HEADERS += *.h
SOURCES += *.cpp
FORMS += *.ui
RESOURCES += \
DiffusionFilter.qrc