QT?.pro文件使用解析
1.pro文件的作用
QT工程的pro文件,在創(chuàng)建工程時(shí)由QTCreater自動(dòng)創(chuàng)建,我們可以往里面添加內(nèi)容,增加庫(kù)文件的聲明,包含路徑、預(yù)處理器定義,生成目錄,輸出中間目錄等等設(shè)置。
2.一個(gè)簡(jiǎn)單的示例
QT+= core gui charts
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = qcharts
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
mainwindow.cpp \
mylineseries.cpp \
myvalueaxis.cpp
HEADERS += \
mainwindow.h \
mylineseries.h \
myvalueaxis.h
FORMS += \
mainwindow.ui \
mylineseries.ui \
myvalueaxis.ui
- QT:指定所要使用的Qt模塊
- TARGET:指定編譯后生成的目標(biāo)文件名稱(chēng)
- TEMPLATE:指定編譯后生成app 還是 lib
- DEFINES:預(yù)定義預(yù)處理器符號(hào)
- SOURCES:當(dāng)前工程中的C++源文件
- HEADERS:當(dāng)前工程中的C++頭文件
- FORMS:當(dāng)前工程中的ui文件
以上是一個(gè)簡(jiǎn)單的示例所用到的配置選項(xiàng)。還有一些常用的別的配置選項(xiàng)如下。
- VERSION:目標(biāo)庫(kù)版本號(hào)
- DESTDIR:指定最終文件生成的目錄
- UI_DIR:UIC將ui轉(zhuǎn)化為頭文件所存放的目錄
- RCC_DIR:RCC將qrc文件轉(zhuǎn)化為頭文件所存放的目錄
- MOC_DIR:MOC命令將含Q_OBJECT的頭文件轉(zhuǎn)換為標(biāo)準(zhǔn)的頭文件存放的目錄
- RC_FILE:程序中所用到的圖片等資源文件
- LIBS:指定工程要鏈接的庫(kù)路徑
- INCLUDEPATH:指定工程要加載的頭文件路徑
- CONFIG:工程配置和編譯的參數(shù)
- LIBPATH:指定工程要鏈接的庫(kù)路徑
- INSTALLS:指定make install后程序的目錄
3.指定鏈接的三方庫(kù)
CONFIG(debug, release|debug){
win32:QCPLIB = qcustomplotd2
else: QCPLIB = qcustomplotd
} else {
win32:QCPLIB = qcustomplot2
else: QCPLIB = qcustomplot
}
INCLUDEPATH += ../thirdPart
LIBS += -L../thirdPart -l$$QCPLIB
也可以這樣寫(xiě)
CONFIG(debug, release|debug){
win32:QCPLIB = qcustomplotd2
else: QCPLIB = qcustomplotd
} else {
win32:QCPLIB = qcustomplot2
else: QCPLIB = qcustomplot
}
INCLUDEPATH += ../thirdPart
LIBPATH += ../thirdPart
LIBS += -l$$QCPLIB
4.編譯為庫(kù)
4.1靜態(tài)庫(kù)
TEMPLATE = lib CONFIG += staticlib
4.2動(dòng)態(tài)庫(kù)
去掉CONFIG += staticlib這一行
5.指定debug,release,win32平臺(tái)還是別的平臺(tái)
省略號(hào),自己補(bǔ)足內(nèi)容
CONFIG(debug, release|debug){
win32:...
else:...
} else {
win32:...
else:...
}
例:指定win32和unix的庫(kù)路徑
win32:LIBS+= libavformat.lib unix:LiBS+= libavformat.so
6.判斷編譯環(huán)境是x86架構(gòu)還是arm架構(gòu)
contains(QT_ARCH, arm64){
message("arm64") #在這里處理arm64所需
}else{
message("x86")
}
以上可以組合使用,如下。
CONFIG += debug_and_release
CONFIG(debug, debug|release){ //處理debug
win32{
}
unix{
contains(QT_ARCH, arm64){
message("arm64")
}else{
message("x86")
}
}
}else{ //處理release
win32{
}
unix{
}
}
7.在linux下編譯后指定make install后的文件路徑
target.path = /home/admin1/target
#需要拷貝的文件以及拷貝目地位置
conf.path = /home/admin1/target
conf.files += \
../config.ini \
../sqlite.db \
INSTALLS += target conf
上述描述的是,在終端編譯完成后,執(zhí)行make install,生成的可執(zhí)行文件會(huì)拷貝到/home/admin1/target 這個(gè)路徑下,../config.ini ../sqlite.db,一個(gè)配置文件和一個(gè)數(shù)據(jù)庫(kù)文件也會(huì)拷貝到/home/admin1/target路徑下。
到此這篇關(guān)于QT .pro文件使用解析的文章就介紹到這了,更多相關(guān)QT .pro文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
本文詳細(xì)講解了socket編程,它是網(wǎng)絡(luò)中經(jīng)常使用的一門(mén)技術(shù),該文章通過(guò)大量的代碼來(lái)解釋?zhuān)蠹铱梢詤⒖紖⒖?/div> 2021-08-08
C/C++實(shí)現(xiàn)圖書(shū)信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了c/c++實(shí)現(xiàn)圖書(shū)信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
Windows下VScode實(shí)現(xiàn)簡(jiǎn)單回聲服務(wù)的方法
回聲服務(wù)端可以將客戶(hù)端傳來(lái)的信息,再原封不動(dòng)地發(fā)送給客戶(hù)端,因而得名 epoch 服務(wù)。接下來(lái)通過(guò)本文給大家介紹Windows下VScode實(shí)現(xiàn)簡(jiǎn)單回聲服務(wù)的方法,感興趣的朋友一起看看吧2021-08-08
C語(yǔ)言驅(qū)動(dòng)開(kāi)發(fā)內(nèi)核特征碼掃描PE代碼段
這篇文章主要為大家介紹了C語(yǔ)言驅(qū)動(dòng)開(kāi)發(fā)內(nèi)核特征碼掃描PE代碼段,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
C語(yǔ)言?xún)?nèi)存對(duì)齊實(shí)例詳解
這篇文章主要介紹了C語(yǔ)言?xún)?nèi)存對(duì)齊,包括內(nèi)存對(duì)其的基本概念及用法,以及注意事項(xiàng),并以實(shí)例形式加以說(shuō)明,需要的朋友可以參考下2014-09-09
VC++實(shí)現(xiàn)的OpenGL線性漸變色繪制操作示例
這篇文章主要介紹了VC++實(shí)現(xiàn)的OpenGL線性漸變色繪制操作,結(jié)合實(shí)例形式分析了VC++基于OpenGL進(jìn)行圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下2017-07-07最新評(píng)論

