QT pro文件解析
在QT中使用qmake自動(dòng)生成pro文件,如果要自己定制工程選項(xiàng),則需要自行修改pro文件。
pro文件有以下關(guān)鍵字:TEMPLATE、TARGET、DESTDIR、DEPENDPATH、INCLUDEPATH、SOURCES、HEADERS、FORMS、LIBS、TRASHLATIONS、RESOURCES、CONFIG、UI_DIR、RCC_DIR、MOC_DIR、OBJECTS_DIR、DEFINES。
其中:TEMPLATE變量定義了工程的編譯模式,默認(rèn)編譯為app。TEMPLATE可以為:app、lib(庫(kù))、subdirs(多級(jí)目錄管理)等。
TARGET:生成目標(biāo)的名字。如:TARGET = mylib
DESTDIR:生成目標(biāo)的路徑。如:DESTDIR = ../bin/ 則目標(biāo)文件的路徑為當(dāng)前pro文件所在目錄的上一級(jí)的bin目錄下
DEPENDPATH:工程的依賴(lài)路徑
INCLUDEPATH:指定工程要用到的頭文件路徑,一般包括用戶(hù)自定義的頭文件路徑或沒(méi)有放入系統(tǒng)頭文件路徑的頭文件路徑
SOURCES:工程需要的源文件
HEADERS:工程所需要的頭文件,一般包括用戶(hù)自定義的頭文件或未放入系統(tǒng)頭文件路徑的頭文件
FORMS:工程要用到的ui文件(ui文件時(shí)用QT設(shè)計(jì)器生成的)
LIBS:加載動(dòng)態(tài)庫(kù)文件。如:LIBS+=./mitab/libmitab.so
TRASHLATIONS:加載要用到的語(yǔ)言翻譯*.ts文件
RESOURCES:加載要用到的資源*.qrc文件
CONFIG:告訴qmake應(yīng)用程序的配置信息:這個(gè)變量可以用來(lái)指定是生成debug模式還是release模式,也可以都生成;也可以用來(lái)打開(kāi)編譯器警告(warn_on輸出盡可能多的警告信息)或者關(guān)閉(warn_off -編譯器會(huì)輸出盡可能少的警告信息);還可以用來(lái)配置要Qt加載庫(kù),例如如果要用到Qt的多線(xiàn)程,則:CONFIG+=qt thread再例如配置debug或release模式:
CONFIG +=debug_and_release CONFIG(debug,debug|release){ TARGET= hello DESTDIR= ./debug }else{ TARGET= hello DESTDIR= ./release }如果你要在windows下面運(yùn)行console:CONFIG +=console
UI_DIR:UIC將ui轉(zhuǎn)化為頭文件所存放的目錄
RCC_DIR:RCC將qrc文件轉(zhuǎn)化為頭文件所存放的目錄;
MOC_DIR:MOC命令將含Q_OBJECT的頭文件轉(zhuǎn)換為標(biāo)準(zhǔn)的頭文件存放的目錄;
OBJECTS_DIR:生成的目標(biāo)文件存放的目錄;
DEFINES:應(yīng)用程序所需的額外的預(yù)處理程序定義的列表#在.h文件中就可以使用:#ifdefinexx_xx_xxx;
LIBS += -L folderPath //引入的lib文件的路徑 -L:引入路徑
Release:LIBS+= -L folderPath // release 版引入的lib文件路徑
Debug:LIBS+= -L folderPath // Debug 版引入的lib 文件路徑
RC_FILE = xxx.icns //程序中所用到的圖片等資源文件;
QT是跨平臺(tái)的,所以我們?cè)诓煌钠脚_(tái)上用同一個(gè)pro文件,這要加入有關(guān)平臺(tái)的信息。windows平臺(tái)是win32,Linux平臺(tái)是unix。
例如在Windows和Linux的動(dòng)態(tài)庫(kù)文件格式是不一樣的,一個(gè)是lib文件一個(gè)是so文件:win32:LIBS+= ./mitab/mitab_i.lib unix:LiBS+= ./mitab/libmitab.so
再如:
win32{
SOURCES+= hello_win.cpp //win平臺(tái)
}
unix{
SOURCES+= hello_linux.cpp //unix/linux平臺(tái)
}
則uic所生成的文件在路徑../bin/myapp/ui目錄下;moc文件在../bin/myapp/moc目錄下;obj目標(biāo)文件在../bin/myapp/objects目錄下。
原文地址:https://www.cnblogs.com/boright88/p/6264642.html
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的QT pro文件解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Qt动态库的链接问题
- 下一篇: C++拷贝构造函数(深拷贝与浅拷贝)