QT pro项目工程的条件编译

QT pro项目工程的条件编译

前言

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

一、定义宏

在pro文件中定义宏:

cpp 复制代码
DEFINES += USE_CamV1

二、导入判断换

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

1.pri文件判断

代码如下(示例):

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

2.代码判定

利用宏区分头文件导入、类声明

代码如下(示例):

c 复制代码
#ifdef USE_CamV1
class CamV1Logic;
QSharedPointer<CamV1Logic> _camV1Ctl= nullptr;
#else
class CamV2Logic;
QSharedPointer<CamV1Logic> _camV2Ctl= nullptr;
#endif
相关推荐
Aliano21710 分钟前
Java的jackson库
java·开发语言
车载testing14 分钟前
使用Python和Vosk库实现语音识别
开发语言·python·语音识别
折枝寄北23 分钟前
C语言进阶:二.数据的存储(2)
c语言·开发语言·学习
ac-er888830 分钟前
PHP的四大安全策略
开发语言·安全·php
羊小猪~~40 分钟前
数学建模(基于Python实现)--灰色关联分析法讲解,含案例
开发语言·python·数学建模
T0uken1 小时前
【Python】Bottle:轻量Web框架
开发语言·前端·python
码农客栈1 小时前
qt QWizard详解
qt
程序猿锦鲤1 小时前
Kafka 消息丢失如何处理?
开发语言·学习·kafka
简朴-ocean2 小时前
Linux | 调整子用户的权限为所有权
开发语言
fhvyxyci2 小时前
【C++之STL】一文学会使用 string
开发语言·数据结构·c++·stl