QT pro项目工程的条件编译

news/2024/11/2 9:36:11/

QT pro项目工程的条件编译

前言

项目场景:项目中用到同一型号两个相机,同时导入两个版本有冲突,编译不通过, 故从编译就区分相机导入调用,使用宏区分

一、定义宏

在pro文件中定义宏:

DEFINES += USE_CamV1

二、导入判断换

说明: 预先将两个版本的SDK 通过 pri 文件导入管理

1.pri文件判断

代码如下(示例):

 if(contains(DEFINES,USE_CamV1)){include($$PWD/CamV1/CamV1.pri)message('-->>(DEFINES,CamV1)')
}
else{include($$PWD/CamV2/CamV2.pri)message('-->>(DEFINES,CamV2) ')
}

2.代码判定

利用宏区分头文件导入、类声明
代码如下(示例):

#ifdef USE_CamV1
class CamV1Logic;
QSharedPointer<CamV1Logic> _camV1Ctl= nullptr;
#else
class CamV2Logic;
QSharedPointer<CamV1Logic> _camV2Ctl= nullptr;
#endif

http://www.ppmy.cn/news/1543830.html

相关文章

【代码随想录Day53】图论Part05

并查集理论基础 题目链接/文章讲解&#xff1a;并查集理论基础 | 代码随想录 寻找存在的路径 题目链接/文章讲解&#xff1a;代码随想录 import java.util.*;public class Main {public static void main(String[] args) {int numberOfElements, numberOfConnections;Scann…

一些MATLAB到Python的转换指南

1. 矩阵和数组操作 MATLAB使用方括号[]来创建矩阵和数组。Python使用列表[]或NumPy库中的数组。 MATLAB: A [1 2 3; 4 5 6; 7 8 9];Python: import numpy as npA np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])2. 数学运算 MATLAB中很多内置函数可以直接用于矩阵。Python…

T级别DDoS攻击与大型DDoS防御

在数字化高速发展的今天&#xff0c;网络攻击和安全防御的博弈愈加复杂&#xff0c;分布式拒绝服务&#xff08;DDoS&#xff09;攻击已然成为网络安全领域的一大难题。尤其是达到T级别的DDoS攻击&#xff0c;以每秒TB级别&#xff08;Tbps&#xff09;的超高流量给网络系统带来…

使用Navicat连接远程服务器中在docker中运行的MySQL数据库保姆级教程

使用Navicat连接远程服务器中在docker中运行的MySQL数据库保姆级教程 一、需要的资源 Navicat客户端&#xff08;我使用的是17.0.8版本&#xff0c;安装教程B站搜一个&#xff0c;很快能解决&#xff09;服务器&#xff08;已安装docker并运行了MySQL&#xff09; 二、步骤 …

uniapp使用echart

一 直线图 三中国地图 <template><view class"content"><l-echart ref"chartRef"></l-echart></view> </template><script setup> import { ref, onMounted } from "vue"; import geoJson from &quo…

clickhouse运维篇(二):多机器手动部署ck集群

熟悉流程并且有真正部署需求可以看一下我的另一篇简化部署的文章&#xff0c;因为多节点配置还是比较麻烦的先要jdk、zookeeper&#xff0c;再ck&#xff0c;还有各种配置文件登录不同机器上手动改配置文件还挺容易出错的。 clickhouse运维篇&#xff08;三&#xff09;&#x…

PCB电源层布线信号

在印刷电路板(PCB)的设计过程中,电源层通常被视为电源分配网络(PDN)的核心。电源层和接地层通常是通过平面铜层来实现的,旨在确保系统稳定性。然而,随着电路板复杂性的增加,尤其是在多层电路板中,设计师可能面临在电源层上布置信号线路的需求。虽然这种做法可以节省空…

LabVIEW在Windows和Linux开发的差异

LabVIEW广泛应用于工程和科研领域的自动化和测量控制系统开发&#xff0c;其在Windows和Linux平台上的开发环境有所不同。这些差异主要体现在操作系统兼容性、硬件支持、软件库和驱动程序、实时系统开发以及部署选择上。以下从各个方面详细对比分析LabVIEW在Windows与Linux系统…