欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

QT .pro文件使用解析

时间:2022-09-17 10:29:24|栏目:C代码|点击:

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路径下。

上一篇:C语言双指针多方法旋转数组解题LeetCode

栏    目:C代码

下一篇:C++数组放在main函数内外的区别

本文标题:QT .pro文件使用解析

本文地址:http://www.codeinn.net/misctech/213924.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有