qt pro工程文件通用宏定义

2024-06-19 23:28
文章标签 qt pro 定义 通用 工程

本文主要是介绍qt pro工程文件通用宏定义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在 Qt .pro 文件中,有一些预定义的宏(或变量),它们代表了特定的路径或与项目、构建环境相关的信息。
以下是一些常用的 .pro 文件宏:
通用宏

  1. $$PWD: 当前 .pro 文件所在的绝对路径。这是一个非常重要的宏,常用来表示项目根目录。
  2. $$OUT_PWD: 生成目标文件(如编译后的 .obj 文件、最终的可执行文件或库文件)的目录。默认情况下,这通常是 ./build-,其中 是当前构建配置(如 debug 或 release)。
  3. $$[QT_INSTALL_PREFIX]: Qt 安装目录的根路径。例如,C:/Qt///。
  4. $$[QT_INSTALL_HEADERS]: Qt 头文件所在的目录。例如,C:/Qtinclude.
  5. $$[QT_INSTALL_LIBS]: Qt 库文件所在的目录。例如,C:/Qtlib.
  6. $$[QT_INSTALL_PLUGINS]: Qt 插件(如平台插件、图像格式插件等)所在的目录。例如,C:/Qtplugins.
  7. $$[QT_INSTALL_DATA]: Qt 非代码数据文件(如翻译文件、样式表等)所在的目录。例如,C:/Qtresources.
  8. $$[QT_INSTALL_DOCS]: Qt 文档所在的目录。例如,C:/Qtdocs.
  9. $$[QT_HOST_DATA]: Qt 构建工具(如 moc、rcc、uic 等)所在目录。例如,C:/Qtbin.
    平台相关的宏
  10. win32, unix, macx, android, ios, etc.: 这些宏用于在 .pro 文件中进行条件编译,根据目标平台选择不同的编译选项或添加特定的源文件。
    自定义宏
    除了预定义的宏,你还可以在 .pro 文件中自行定义宏,用于组织项目结构、配置编译选项等。自定义宏的定义形式如下:
DEFINES += MY_MACRO

或者

MY_MACRO = value

这里的 MY_MACRO 是自定义宏的名称,value 是宏的值。在 .pro 文件的其他地方,可以使用 $$MY_MACRO 来引用这个宏。
使用示例
在 .pro 文件中,这些宏通常用于设置包含路径(INCLUDEPATH)、库路径(LIBS)、源文件列表(SOURCES)等。例如:

INCLUDEPATH += $$PWD/../common/include
SOURCES += $$PWD/main.cpp
DESTDIR = $$OUT_PWD/../dist

这些宏使得 .pro 文件能够灵活地适应不同的项目结构和构建环境,无需硬编码具体的路径,增强了项目的可移植性。在编写或修改 .pro 文件时,可以充分利用这些预定义宏来简化配置。

这篇关于qt pro工程文件通用宏定义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076447

相关文章

C++工程编译链接错误汇总VisualStudio

目录 一些小的知识点 make工具 可以使用windows下的事件查看器崩溃的地方 dumpbin工具查看dll是32位还是64位的 _MSC_VER .cc 和.cpp 【VC++目录中的包含目录】 vs 【C/C++常规中的附加包含目录】——头文件所在目录如何怎么添加,添加了以后搜索头文件就会到这些个路径下搜索了 include<> 和 include"" WinMain 和

通俗范畴论4 范畴的定义

注:由于CSDN无法显示本文章源文件的公式,因此部分下标、字母花体、箭头表示可能会不正常,请读者谅解 范畴的正式定义 上一节我们在没有引入范畴这个数学概念的情况下,直接体验了一个“苹果1”范畴,建立了一个对范畴的直观。本节我们正式学习范畴的定义和基本性质。 一个范畴(Category) C𝐶,由以下部分组成: 数据: 对象(Objects):包含若干个对象(Objects),这些

青龙面板部署通用教程,含服务器、路由器、X86等部署方法

1. 拉取镜像/更新镜像 docker pull whyour/qinglong:latest 2. 删除镜像 docker rmi whyour/qinglong:latest 3. 启动容器 普通服务器 docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db:

工程文档CAD转换必备!在 Java 中将 DWG 转换为 JPG

Aspose.CAD 是一个独立的类库,以加强Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。 Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格

利用结构体作为函数参数时结构体指针的定义

在利用结构体作为函数的参数进行传递时,容易犯的一个错误是将一个野指针传给函数导致错误。 #include <stdio.h>#include <math.h>#include <malloc.h>#define MAXSIZE 10typedef struct {int r[MAXSIZE]; //用于存储要排序的数组,r[0]作为哨兵或者临时变量int length;

QT 中ListView和ListWidget有什么区别

ListView和ListWidget在Qt框架中都是用于显示列表数据的控件,但它们在使用方法和特性上存在一些明显的差异。以下是关于它们用法不一样的地方的详细分析: 数据管理方式: ListView:使用QAbstractItemModel数据模型来管理和显示列表数据。QAbstractItemModel是一个抽象类,允许开发者自定义数据模型以适应特定的数据结构和需求。这使得ListView在处

如何使用Qt的PIMPL习惯用法(PIMPL Idiom

) PIMPL是指“Pointer to IMPLementation”(指向实现的指针),意味着将实现细节隐藏起来,用户类无需关注这些实现细节。在Qt中常用PIMPL习惯用法来清晰地区分接口与实现,尽管Qt官方文档并未详细说明该机制。本文将演示如何在Qt中使用PIMPL习惯用法,并以一个简单的坐标输入对话框作为实例。 原理与动机 PIMPL的核心在于将类的实现细节封装在一个私有类中,这个私

【Qt6.3 基础教程 17】 Qt布局管理详解:创建直观和响应式UI界面

文章目录 前言布局管理的基础为什么需要布局管理器? 盒布局:水平和垂直排列小部件示例:创建水平盒布局 栅格布局:在网格中对齐小部件示例:创建栅格布局 表单布局:为表单创建标签和字段示例:创建表单布局 调整空间和伸缩性示例:增加弹性空间 总结 前言 当您开始使用Qt设计用户界面(UI)时,理解布局管理是至关重要的。布局管理不仅关系到UI的外观,更直接影响用户交互的体验。本篇博

【Qt6.3 基础教程 16】 掌握Qt中的时间和日期:QTimer和QDateTime的高效应用

文章目录 前言QTimer:定时任务的强大工具QTimer的基本用法高级特性:单次定时器 QDateTime:处理日期和时间获取当前日期和时间日期和时间的格式化输出日期和时间计算 用例:创建一个倒计时应用结论 前言 在开发桌面应用程序时,处理时间和日期是一个常见且重要的任务。Qt框架提供了强大的工具来处理与时间相关的功能,其中QTimer和QDateTime是最核心的类。本