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

[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.xdnf.cn/news/17886.html

相关文章:

  • 【论文阅读笔记】Context-Aware Hierarchical Merging for Long Document Summarization
  • 【R语言】R语言的工作空间映像(workspace image,通常是.RData)详解
  • 《卷积神经网络(CNN):解锁视觉与多模态任务的深度学习核心》
  • 【完整源码+数据集+部署教程】火柴实例分割系统源码和数据集:改进yolo11-rmt
  • 【类与对象(下)】探秘C++构造函数初始化列表
  • 响应式对象的类型及其使用场景
  • WMware的安装以及Ubuntu22的安装
  • 11.用反射为静态类的属性赋值 C#例子 WPF例子
  • 第六十五章:AI的“精良食材”:图像标注、视频帧抽帧与字幕提取技巧
  • 数据挖掘常用公开数据集
  • 【KO】Android 网络相关面试题
  • Redis 核心数据结构与常用命令详解
  • Qwen-Image(阿里通义千问)技术浅析(二)
  • HTTP 协议详细介绍
  • 第6章 AB实验的SRM问题
  • elasticsearch mapping和template解析(自动分词)!
  • 何解决PyCharm中pip install安装Python报错ModuleNotFoundError: No module named ‘json’问题
  • Flink DataStream 按分钟或日期统计数据量
  • 如何在VS里使用MySQL提供的mysql Connector/C++的debug版本
  • LeetCode 刷题【40. 组合总和 II】
  • 基于C#、.net、asp.net的心理健康咨询系统设计与实现/心理辅导系统设计与实现
  • 药房智能盘库系统的Python编程分析与实现—基于计算机视觉与时间序列预测的智能库存管理方案
  • Redis学习——Redis的十大类型String、List、Hash、Set、Zset
  • 仓库无人叉车的安全功能有哪些?如何在提升效率时保障安全?
  • 机器学习——svm支持向量机
  • 为什么要使用消息队列呢?
  • 【龙泽科技】汽车故障诊断仿真教学软件【科鲁兹】
  • 总经理掌舵研发团队:在技术突破与商业落地间找到平衡的艺术-中小企实战运营和营销工作室博客
  • 力扣 hot100 Day72
  • Gradle(二)Gradle的优势、项目结构介绍