QT?.pro文件使用解析
1.pro文件的作用
QT工程的pro文件,在創(chuàng)建工程時(shí)由QTCreater自動創(chuàng)建,我們可以往里面添加內(nèi)容,增加庫文件的聲明,包含路徑、預(yù)處理器定義,生成目錄,輸出中間目錄等等設(shè)置。
2.一個(gè)簡單的示例
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)文件名稱
- TEMPLATE:指定編譯后生成app 還是 lib
- DEFINES:預(yù)定義預(yù)處理器符號
- SOURCES:當(dāng)前工程中的C++源文件
- HEADERS:當(dāng)前工程中的C++頭文件
- FORMS:當(dāng)前工程中的ui文件
以上是一個(gè)簡單的示例所用到的配置選項(xiàng)。還有一些常用的別的配置選項(xiàng)如下。
- VERSION:目標(biā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:指定工程要鏈接的庫路徑
- INCLUDEPATH:指定工程要加載的頭文件路徑
- CONFIG:工程配置和編譯的參數(shù)
- LIBPATH:指定工程要鏈接的庫路徑
- INSTALLS:指定make install后程序的目錄
3.指定鏈接的三方庫
CONFIG(debug, release|debug){ win32:QCPLIB = qcustomplotd2 else: QCPLIB = qcustomplotd } else { win32:QCPLIB = qcustomplot2 else: QCPLIB = qcustomplot } INCLUDEPATH += ../thirdPart LIBS += -L../thirdPart -l$$QCPLIB
也可以這樣寫
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.編譯為庫
4.1靜態(tài)庫
TEMPLATE = lib CONFIG += staticlib
4.2動態(tài)庫
去掉CONFIG += staticlib這一行
5.指定debug,release,win32平臺還是別的平臺
省略號,自己補(bǔ)足內(nèi)容
CONFIG(debug, release|debug){ win32:... else:... } else { win32:... else:... }
例:指定win32和unix的庫路徑
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í)行文件會拷貝到/home/admin1/target 這個(gè)路徑下,../config.ini ../sqlite.db,一個(gè)配置文件和一個(gè)數(shù)據(jù)庫文件也會拷貝到/home/admin1/target路徑下。
到此這篇關(guān)于QT .pro文件使用解析的文章就介紹到這了,更多相關(guān)QT .pro文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Cocos2d-x UI開發(fā)之菜單類使用實(shí)例
這篇文章主要介紹了Cocos2d-x UI開發(fā)之菜單類使用實(shí)例,本文的代碼中含有詳細(xì)注釋,需要的朋友可以參考下2014-09-09C語言popen函數(shù)調(diào)用其他進(jìn)程返回值示例詳解
這篇文章主要為大家介紹了C語言popen函數(shù)調(diào)用其他進(jìn)程返回值示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09數(shù)據(jù)結(jié)構(gòu)順序表操作示例
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)順序表操作示例,其中有在第I個(gè)元素前插入數(shù)據(jù)x,元素從0開始計(jì)數(shù)、刪除第i個(gè)元素,元素從0開始計(jì)數(shù)的方法,需要的朋友可以參考下2014-03-03C語言中字符串與各數(shù)值類型之間的轉(zhuǎn)換方法
這篇文章主要介紹了C語言中字符串與各數(shù)值類型之間的轉(zhuǎn)換方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03C++中引用(&)的用法與應(yīng)用實(shí)例分析
引用是C++引入的新語言特性,是C++常用的一個(gè)重要內(nèi)容之一,正確、靈活地使用引用,可以使程序簡潔、高效。故在本篇中我將對引用進(jìn)行詳細(xì)討論,希望對大家更好地理解和使用引用起到拋磚引玉的作用2013-09-09C++使用宏函數(shù)實(shí)現(xiàn)單例模板詳解
在我們?nèi)粘i_發(fā)中,無可避免需要使用單例模式進(jìn)行設(shè)計(jì)類對象。這篇文章主要介紹了如何使用宏函數(shù)實(shí)現(xiàn)單例模板,感興趣的小伙伴可以了解一下2023-02-02