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

[QtADS]解析demo.pro

分析的部分来自腾讯元宝

ADS_OUT_ROOT = $${OUT_PWD}/..TARGET = AdvancedDockingSystemDemo
DESTDIR = $${ADS_OUT_ROOT}/lib
QT += core gui widgets quick quickwidgetsinclude(../ads.pri)lessThan(QT_MAJOR_VERSION, 6) {win32 {QT += axcontainer}
}CONFIG += c++14
CONFIG += debug_and_release
DEFINES += QT_DEPRECATED_WARNINGS
RC_FILE += app.rcadsBuildStatic {DEFINES += ADS_STATIC
}HEADERS += \MainWindow.h \StatusDialog.h \ImageViewer.h \RenderWidget.hSOURCES += \main.cpp \MainWindow.cpp \StatusDialog.cpp \ImageViewer.cpp \RenderWidget.cppFORMS += \mainwindow.ui \StatusDialog.uiRESOURCES += demo.qrcLIBS += -L$${ADS_OUT_ROOT}/libINCLUDEPATH += ../src
DEPENDPATH += ../src

一、项目配置解析​

  1. ​输出路径与目标设置

ADS_OUT_ROOT = $${OUT_PWD}/..
TARGET = AdvancedDockingSystemDemo
DESTDIR = $${ADS_OUT_ROOT}/lib
  • ADS_OUT_ROOT​:定义项目输出根目录构建目录的上一级(通常用于集中管理多个项目的输出)。

  • TARGET​:生成的可执行文件名为 AdvancedDockingSystemDemo

  • DESTDIR​:最终输出路径为 ../lib(​​需确认是否应为 bin​,因为可执行文件通常放入 bin而非 lib)。

demo对应$${OUT_PWD}

Qt模块依赖

QT += core gui widgets quick quickwidgets
lessThan(QT_MAJOR_VERSION, 6) { win32 { QT += axcontainer } }
  • 核心模块:coreguiwidgets(基础UI)。

  • 动态界面:quick(QML)和 quickwidgets(混合QWidget与QML)。

  • ​Qt5兼容性​​:在Windows下且Qt版本低于6时,启用 axcontainer(支持ActiveX控件)

构建与编译选项

CONFIG += c++14 debug_and_release
DEFINES += QT_DEPRECATED_WARNINGS
RC_FILE += app.rc
  • ​C++14标准​​:强制使用C++14编译。

  • ​双模式构建​​:同时生成Debug和Release版本(debug_and_release)。

  • ​弃用警告​​:启用Qt废弃API的编译警告(QT_DEPRECATED_WARNINGS)。

  • ​资源文件​​:app.rc用于定义Windows程序的图标、版本信息等元数据。

ADS库集成

include(../ads.pri)
adsBuildStatic { DEFINES += ADS_STATIC }
  • ads.pri​:引入高级停靠系统(ADS)的配置,可能包含头文件路径、库链接等。

  • ​静态库支持​​:若 adsBuildStatic为真,定义 ADS_STATIC宏(需确保ADS库以静态方式编译)。

二、文件与资源管理​

  1. ​代码文件组织

HEADERS += MainWindow.h StatusDialog.h ImageViewer.h RenderWidget.h
SOURCES += main.cpp MainWindow.cpp StatusDialog.cpp ImageViewer.cpp RenderWidget.cpp
FORMS += mainwindow.ui StatusDialog.ui
RESOURCES += demo.qrc
  • 头文件/源文件​​:包含主窗口、状态对话框、图像查看器和渲染控件等核心功能类。

  • ​UI表单​​:mainwindow.ui和 StatusDialog.ui由Qt Designer生成,用于界面布局。

  • ​资源文件​​:demo.qrc管理图标、QML文件等嵌入式资源

依赖路径设置

INCLUDEPATH += ../src
DEPENDPATH += ../src
LIBS += -L$${ADS_OUT_ROOT}/lib
  • 头文件搜索​​:添加 ../src到包含路径(暗示ADS库源码位于上级目录)。

  • ​库链接​​:指定链接库搜索路径为 ../lib(需确保 lib中存在 libAdvancedDockingSystem.a或 .dll

http://www.dtcms.com/a/329880.html

相关文章:

  • 利用 Makefile 高效启动 VIVADO 软件:深入解析与实践
  • 十,算法-动态规划
  • 深入理解 Cookie 与 Session —— Web 状态保持详解与实战
  • 目标检测公开数据集全解析:从经典到前沿
  • Linux软件编程3.(文件IO和目录IO)
  • windows设置相对路径的快捷方式
  • 想要PDF翻译保留格式?用对工具是关键
  • h5bench(4)
  • MySQL——binlog刷盘机制
  • django name ‘QueryDict‘ is not defined
  • POST 请求内容类型
  • 移动应用渗透测试:API 接口漏洞的识别与利用技巧
  • Oracle归档日志的查询和定时删除
  • elasticsearch基础概念与集群部署
  • 【16】Transformers快速入门:Token Embedding
  • JavaSE高级-01
  • cuDNN详解,从什么是cuDNN到实际应用过程
  • 肖臻《区块链技术与应用》第十二讲:比特币是匿名的吗?—— 深入解析匿名性、隐私风险与增强技术
  • 区块链DApp:颠覆未来的去中心化应用
  • 【Redis笔记】Redis 的通用命令
  • 字符串匹配算法
  • 认知系统的架构: 认知残余三角形、认知主体意识 和认知演进金字塔
  • UniApp开发常见问题及解决办法
  • 摆脱例行 SQL 报表的隐性成本:用 n8n 构建四节点自动化报告流程
  • 锂电池自动化生产线:智能制造重塑能源产业格局
  • ECCV-2018《Variational Wasserstein Clustering》
  • 【HTML】在页面中画一条0.5px的线
  • 聚焦用户价值,腾讯音乐Q2实现坚实增长
  • c++的运算符优先级
  • 嵌入式第二十七天(UI相关技术(framebuffer))