当前位置: 首页 > news >正文

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 文件时,可以充分利用这些预定义宏来简化配置。

http://www.lryc.cn/news/383746.html

相关文章:

  • 这次让我们隆重的介绍一下
  • 大语言模型系列-Transformer
  • Node.js 语言特定指南
  • 科普:什么是 BC-404 ?全方位解读最新通缩型 NFT 标准
  • 软件测试学习笔记丨JUnit5执行顺序
  • 解决GPU 显存未能完全释放
  • 3D资产爆发,轻量化需求再度冲高,见证下一代3D崛起!
  • AI绘画的10种变现方法,逼你躺平挣钱
  • Pura 70 系列超高速风驰闪拍,捕捉美好,告别抓拍模糊
  • AI作画Prompt不会写?Amazon Bedrock Claude3.5来帮忙
  • SSL证书类型解析:DV、OV、EV证书的区别与适用场景
  • WPF 2024 金九银十 最新 高级 架构 面试题 C#
  • Linux上使用 git 命令行
  • vue 中computed和watch的区别
  • 富豪王思聪的“爱情喜剧”从万达排片到网红聊天
  • qt qml-http之XMLHttpRequest介绍详解使用
  • DBdoctor功能介绍
  • Kubernetes之Kubelet详解
  • 大模型AI技术实现语言规范练习
  • 202.回溯算法:全排列||(力扣)
  • 什么是数据库范式,为什么要反范式?
  • 记录 Bonobo Git 服务器 SMTP 设置
  • 事务性邮件发送如何选择邮件群发工具
  • 替换特殊符号
  • 深入浅出 langchain 1. Prompt 与 Model
  • C#二进制、十进制、十六进制数据转换
  • 晶方科技:台积电吃饱,封装迎春?
  • ConcurrentModificationException
  • 倾斜摄影OSGB一键轻量化输出3dTiles!
  • 深度清洁:使用npm prune命令优化你的Node.js项目