QT .pro文件使用解析

QT .pro文件使用解析

目录

1.pro文件的作用

2.一个简单的示例

3.指定链接的三方库

4.编译为库

5.指定debug,release,win32平台还是别的平台

6.判断编译环境是x86架构还是arm架构

7.在linux下编译后指定make install后的文件路径

1.pro文件的作用

QT工程的pro文件,在创建工程时由QTCreater自动创建,我们可以往里面添加内容,增加库文件的声明,包含路径、预处理器定义,生成目录,输出中间目录等等设置。

2.一个简单的示例 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:指定编译后生成的目标文件名称

TEMPLATE:指定编译后生成app 还是 lib

DEFINES:预定义预处理器符号

SOURCES:当前工程中的C++源文件

HEADERS:当前工程中的C++头文件

FORMS:当前工程中的ui文件

以上是一个简单的示例所用到的配置选项。还有一些常用的别的配置选项如下。

VERSION:目标库版本号

DESTDIR:指定最终文件生成的目录

UI_DIR:UIC将ui转化为头文件所存放的目录

RCC_DIR:RCC将qrc文件转化为头文件所存放的目录

MOC_DIR:MOC命令将含Q_OBJECT的头文件转换为标准的头文件存放的目录

RC_FILE:程序中所用到的图片等资源文件

LIBS:指定工程要链接的库路径

INCLUDEPATH:指定工程要加载的头文件路径

CONFIG:工程配置和编译的参数

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静态库

TEMPLATE = lib CONFIG += staticlib

4.2动态库

去掉CONFIG += staticlib这一行

5.指定debug,release,win32平台还是别的平台

省略号,自己补足内容

CONFIG(debug, release|debug){ win32:... else:... } else { win32:... else:... }

例:指定win32和unix的库路径

win32:LIBS+= libavformat.lib unix:LiBS+= libavformat.so 6.判断编译环境是x86架构还是arm架构 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

上述描述的是,在终端编译完成后,执行make install,生成的可执行文件会拷贝到/home/admin1/target 这个路径下,../config.ini   ../sqlite.db,一个配置文件和一个数据库文件也会拷贝到/home/admin1/target路径下。

到此这篇关于QT .pro文件使用解析的文章就介绍到这了,更多相关QT .pro文件内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读