【必知必会】pro文件及常用配置
前言
筆者在工作中了解到,有部分同學對Qt的項目文件,即.pro文件的基本配置編寫不是很了解。作為一名Qt工程師,.pro文件的編寫也是必會的技能,本文對此進行一個講解,并將相關資料做一個匯總。
.pro文件的介紹
.pro文件是Qt的項目文件,Qt允許我們直接編輯,不像Visual Studio基本上所有項目選項都需要界面來配置。
Qt使用其自帶的qmake.exe來解析.pro文件。.pro文件有自己的語法規則,所以學習起來需要一定的成本。目前我們只需要學習編寫最基本的配置即可,根據二八定律,80%的情況下,我們只能用到20%的配置方法,剩余20%的情況等到我們熟悉了.pro文件以后,再去查詢解決即可。二八定律學習法一定要牢牢掌握哦!
一個.pro文件的例子
打開Qt,新建一個Qt Widgets Application。筆者使用的Qt Creator版本是Qt Creator 4.0.2。
下面是.pro文件中的內容
下面依次解釋上面的代碼各行的含義
-
QT += core gui
指定當前項目使用的Qt模塊,Qt會自動將相關模塊的頭文件、庫文件加入到項目配置中。只有在.pro中指定了需要使用的庫,才能在項目中使用相關的功能。
比如使用網絡時:QT += network;使用xml時:QT += xml,等等。
新問題:
如何知道某個Qt類在哪個庫呢。在Qt手冊中找到對應的類,有類所在庫的信息,如下圖:
-
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
此行的含義為:當前Qt的版本大于Qt4的話,即Qt5的話,就加入widgets模塊。可見widgets模塊可能是Qt5中才引入的。 -
TARGET = untitled13
目標程序名稱。就是生成出來的目標文件的文件名前綴,不包含擴展名,擴展名由項目類型決定。這里指定了untitled13,如果項目類型是應用程序,則會生成untitled13.exe;如果項目類型是動態庫,則會生成untiled13.dll文件。 -
TEMPLATE = app
指定項目模板類型,也就是項目類型。可以指定app(應用程序)、lib(庫),除了這些還有其他類型,Qt文檔的qmake manual部分有詳細描述。 -
SOURCES += main.cpp mainwindow.cpp
指定源代碼文件列表 -
HEADERS += mainwindow.h
指定頭文件列表 -
FORMS += mainwindow.ui
指定ui設計文件列表
其他常用配置項
-
DESTDIR = $$PWD/
此行代碼用于指定目標文件的保存目錄。
DESTDIR是英文Destination Directory的縮寫,即目的文件夾。
$$PWD是一個保存當前目錄路徑的變量。 -
LIBS += -L$$PWD/
此行代碼同Visual Studio中的“附加庫目錄”功能,用于添加庫文件搜索路徑。 -
LIBS += -lmylib
此行代碼同Visual Studio中的“附加依賴庫”功能,用于添加需要鏈接的庫文件。可以和上面的添加庫文件搜索路徑寫在一起,比如 LIBS += -L$$PWD -lmylib。 -
CONFIG += staticlib
結合TEMPLATE = lib使用,指定生成靜態庫。 -
CONFIG += dll
結合TEMPLATE = lib使用,指定生成動態庫。 -
INCLUDEPATH += $$PWD
用于添加頭文件的包含目錄。和Visual Studio中的“附加包含目錄”功能一致。 -
DEFINES += MY_MACRO
用于添加全局需要使用的宏定義。和Visual Studio中的“預處理器定義”功能一致。 -
message($$PWD)
message是.pro中的內置函數,用于打印消息或變量,一般用于調試變量或步驟是否正確。
輸出的消息會在Qt Creator底部的“概要信息”中打印。 -
配置判斷
- include(sub_module.pri)
這個非常重要。.pri是子模塊配置文件,編寫方式和.pro基本一樣。不一樣的地方就在于,它畢竟是子模塊配置文件,只需要寫子模塊的配置信息即可,不需要寫諸如 TEMPLATE = app等這種應該在pro文件中編寫的配置項。
有的同學會問,.pri文件在哪創建?界面上怎么找不到?這個確實筆者也一直都沒有找到,需要自己新建一個文件,將文件后綴改為.pri,最后在.pro文件中使用include包含進來。
.pri的典型用法這里舉一例:用來引入第三方庫。一般第三方庫需要提供頭文件、庫文件。想要引入到Qt項目中,編寫一個.pri文件就比較簡單,需要用到的項目直接include這個.pri文件即可。相對于Visual Studio需要到多個界面配置第三方庫,簡單了很多。一個引入庫的pri子模塊文件內容如下圖所示:
其他說明項
- 經測試,構建一次項目.pro文件可能會被執行多次。所以不能認為.pro構建一次,只執行一次,和我們想的不太一樣,需要注意。
參考資料
當然是官方手冊了,在Qt Assistant中,切換到“索引”,輸入“qmake manual”即可找到。
結語
學會使用.pro文件真的很重要,一定要掌握最基本的配置。
后續如果有其他比較重要的配置項,會更新說明,敬請關注。
本文首發自公眾號“Qt未來工程師”,歡迎關注。
總結
以上是生活随笔為你收集整理的【必知必会】pro文件及常用配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 铠侠发布全球最小PCIe SSD:1TB
- 下一篇: 说自己“年入百万”需提供银行流水?豆瓣官