首页 > 其他分享 >Qt之pro文件写法的详细介绍

Qt之pro文件写法的详细介绍

时间:2023-11-23 23:12:18浏览次数:29  
标签:Qt CONFIG pro release PWD debug 写法 DIR

在Qt项目的.pro文件中,有一些特定的变量和命令,用于配置和控制项目的构建过程。以下是一些常用的变量和命令,以及它们的使用方式:

1、TARGET: 定义生成的可执行文件的名称。

TARGET = MyApplication

2、TEMPLATE: 指定项目的类型,可以是"app"(应用程序)或"lib"(库)。

TEMPLATE = app

3、CONFIG: 配置项目的一些特定选项,如Debug和Release模式等。

CONFIG += c++11
CONFIG += qt debug warn_on release

CONFIG 是用于配置 Qt 项目的关键变量之一。在你提供的代码片段中,CONFIG += qt debug warn_on release 将在 Qt 项目中进行一些常见的配置。以下是各个部分的含义:

  • qt:启用 Qt 的相关功能和模块。这会告诉 QMake 使用 Qt 框架的相关库和模块。
  • debug 和 release:配置 Debug 模式和 Release 模式的构建选项。在这里,debug 表示启用 Debug 模式,而 release 表示启用 Release 模式。这将影响一些编译器和链接器选项,例如是否包含调试信息、优化等。
  • warn_on:启用编译器的警告信息。这告诉编译器在编译过程中生成尽可能多的警告信息,帮助你发现潜在的问题。

总的来说,这一行配置告诉 QMake 在构建项目时使用 Qt 框架,启用 Debug 和 Release 模式,并在编译时生成警告信息。这是一个通常的配置,确保项目能够在不同的模式下构建,并且开发者能够及时发现潜在的问题。

4、SOURCES: 定义项目的源文件列表。

SOURCES += main.cpp \
           widget.cpp

5、HEADERS: 定义项目的头文件列表。

HEADERS += widget.h

6、FORMS: 指定项目中的Qt Designer表单文件(.ui文件)。

FORMS += mainwindow.ui \
         dialog.ui

7、RESOURCES: 指定项目中的资源文件(如图标、样式表等)。

RESOURCES += myresources.qrc

8、INCLUDEPATH: 指定头文件的搜索路径。

INCLUDEPATH += /path/to/include

9、LIBS: 指定链接的库文件。

LIBS += -L/path/to/lib -lmylibrary

10、DESTDIR: 指定构建生成的目标文件的输出目录。

DESTDIR = $$PWD/build

11、OBJECTS_DIR:用于指定对象文件输出目录的变量。对象文件是编译源代码(.cpp文件)生成的中间文件,它们包含了编译后的二进制代码,但还没有链接为最终的可执行文件或库。

BJECTS_DIR = $$PWD/debug/obj

12、MOC_DIR:用于指定元对象编译器(Meta-Object Compiler,MOC)生成的中间文件(通常是 .moc 文件)的输出目录。MOC 是用于处理 Qt 中的元对象系统的工具,它为支持信号与槽、动态属性等特性而生成必要的C++代码。

MOC_DIR = $$PWD/debug/moc

13、RCC_DIR:用于指定资源编译器(Resource Compiler,RCC)生成的中间文件的输出目录。RCC 用于将 Qt 项目中的资源文件(通常是.qrc文件)编译为 C++ 代码,使得这些资源可以在应用程序中被直接使用。

RCC_DIR = $$PWD/debug/rcc

14、CONFIG(debug, debug|release) 和 CONFIG(release, debug|release): 分别用于配置Debug和Release模式下的选项。

#Debug 模式配置
CONFIG(debug, debug|release) {
    TARGET = MyApplication_debug
    DESTDIR = $$PWD/debug
    OBJECTS_DIR = $$PWD/debug/obj
    MOC_DIR = $$PWD/debug/moc
    RCC_DIR = $$PWD/debug/rcc
}

#release 模式配置
CONFIG(release, debug|release) {
    TARGET = MyApplication_release
    DESTDIR = $$PWD/release
    OBJECTS_DIR = $$PWD/release/obj
    MOC_DIR = $$PWD/release/moc
    RCC_DIR = $$PWD/release/rcc
}  

 

标签:Qt,CONFIG,pro,release,PWD,debug,写法,DIR
From: https://www.cnblogs.com/TechNomad/p/17852734.html

相关文章

  • 【问题记录】【IDEA工具】升级了个版本- -启动报错 com.intellij.ide.util.Properties
    1 启动报错Causedby:java.lang.ClassNotFoundException:com.intellij.ide.util.PropertiesComponentImplPluginClassLoader(plugin=PluginDescriptor(name=BetterIntelliJ,id=org.example.BetterIntelliJ,descriptorPath=plugin.xml,path=~/Library/ApplicationSuppor......
  • 苹果史上最大号平板要来了!iPad Pro 14.1外观出炉:首次用上灵动岛
    从去年6月份开始,就不断有消息称苹果在规划iPadPro14.1英寸超大屏版本。根据爆料人MajinBuOfficial的最新新消息,苹果将会在明年推出这款史上最大号iPad。同时还公布了新机渲染图,整体设计语言与iPhone15Pro高度一致,正面是灵动岛屏幕,背部则是三摄系统,图上展示的配色也与手机相......
  • 刘金玉QT学习笔记:7-简易用户信息管理界面实现_实现用户信息增改
    1.同第六课方式在widget里连接并创建数据库。 2.通过QSqlQuery使用sql语句的第二种方法:-在不同的函数中都要使用->做成全局变量 3.表格网格控件tableview控件显示数据库的内容为表格行-ui拖出控件-qtableview控件通过QSqlQueryModel来渲染数据过程:1widget.h引入#i......
  • netcore 同步方法里调异步,异步方法里调用同步,不死锁写法
     ///<summary>///同步方法里调用异步///</summary>staticvoidSyncMethod(){//同步方法中调用异步方法(第一种写法)AsyncMethod(参数1,参数2).ConfigureAwait(false).GetAwaiter().GetResult();//同步方法中调用异步方法(第二种写法)AsyncHelper.RunSync......
  • 性能提升至2.5倍!新款极空间Z4 Pro图赏
    日前极空间召开新品发布会,Z4Pro迎来升级,处理器换新,CPU性能提升至此前标准版的2.5倍。现在这款新品已经来到我们评测室,下面为大家带来图赏。极空间Z4Pro新款提供标准版8GB、标准版16GB、性能版16GB三款产品。其中,标准版8GB、标准版16GB采用全新一代英特尔处理器N97,4核3.6G,24核......
  • 刘金玉QT学习笔记:6-sqlite简易入门+QT结合使用
    //第一篇,测试一下1.Sqlite-linux自带-轻量级-关系型数据库2.安装-进入官网后点击Downloads-下载下图的两个zip,解压后把里面的文件放到C盘下自创一个sqlite的文件夹3.通过命令行使用sqlite3.exe来使用数据库-配环境变量作用:不用进入路径位置就可以打开(sqlite)4.基本......
  • Convolutional Neural Networks on Graphs with Chebyshev Approximation, Revisited
    目录概符号说明MotivationChebNetII代码HeM.,WeiZ.andWenJ.Convolutionalneuralnetworksongraphswithchebyshevapproximation,revisited.NIPS,2022.概作者剖析了ChebNet存在的一些缺陷,并通过约束系数获得更好的性能.符号说明\(V\),nodeset;\(E\),......
  • obproxy 源码编译以及一些问题整理-暂未编译成功
    尝试自己编译下oceanbase的obproxy并记录下一些问题,目前是暂未编译成功,因为是openssl版本包的问题环境说明基于了RockyLinuxrelease8.8,同时obproxy使用了4.2.1版本的构建参考命令这个官方已经提供了,主要就是initdebug,makeshbuild.shinitshbuild.sh......
  • 昆仑通态通过modbus转profinet网关连接smart plc与6台ABB 变频器通讯
    485modbus转profinet网关连接6台ABB变频器通讯昆仑通态通过485Modbus转Profinet网关实现了1200PLC与6台ABB变频器之间的Modbus通讯,触摸屏本地实时监控。485Modbus转Profinet网关作为中间桥梁,实现1200PLC与ABB变频器之间的互联互通,使得数据的传输变得高效可靠。打开博图添加PLC,在......
  • web目录扫描工具——dirpro
    工具可自行在GitHub上下载:https://github.com/coleak2021/dirprodirpro是一个绿色版工具,无需安装。下载完成后直接解压出来,通过Python运行即可。示例:利用dirpro工具扫描百度网址目录cdD:\*\dirpro-mainpythondirpro.py-uhttps://www.baidu.com/ 参数解析:-u......