Qt的.pro文件格式解析

Qt的.pro文件格式解析

在Qt中用qmake生成makefile文件,它是由.pro文件生成而來的,.pro文件的具體格式語法如下:

1.注釋

.pro文件中注釋採用#號,從「#」號開始,到該行的結束,例如:

2.模板TEMPLATE

模板變數告訴qmake為這個應用程式生成那種makefile文件。下面是可提供使用的選擇:

TEMPLATE=app
  1. app-建立一個應用程式的makefile。這是個默認值,所以如果模板沒有被指定,該模板將會被使用。
  2. lib -建立一個庫的makefile。
  3. vcapp -建立一個應用程式的Visual Studio項目文件。
  4. vclib -建立一個庫的VisualStudio項目文件。
  5. subdirs -這是一個特殊的模板,它可以創建一個能夠進入特定目錄並且為一個項目文件生成makefile,並且為它調用make的makefile。

3.添加文件路徑

  1. HEADERS += 用來添加頭文件

  2. SOURCES += 用來添加源文件

  3. FORMS += 用來添加 ui 文件

  4. RESOURCES += 用來添加資源文件

  5. INCLUDEPATH += 用來存放添加頭文件的路徑

  6. DEPENDPATH += 用來添加依賴相關路徑

  7. 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_DIRRCC_DIRMOC_DIROBJECTS_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

Tags: