Qt的.pro檔案格式解析

GeoFXR發表於2022-03-30

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

相關文章