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
相关推荐
千里马-horse4 分钟前
gRPC -- Java 基础教程
java·开发语言·grpc
甲方大人请饶命7 分钟前
Java-面向对象进阶(qqbb知识点)
java·开发语言
ChoSeitaku10 分钟前
07_static_JavaBean_继承_super/this
java·开发语言
hbugs00118 分钟前
EVE-NG桥接外网的5种方式
开发语言·网络·php·eve-ng·rstp·流量洞察
wjs20241 小时前
Lua 字符串
开发语言
三品吉他手会点灯1 小时前
C语言学习笔记 - 33.数据类型 - printf函数的详细用法
c语言·开发语言·笔记·学习·算法
知行合一。。。1 小时前
Python--05--面向对象(继承,多态)
android·开发语言·python
csbysj20201 小时前
Vue3 样式绑定
开发语言
:1211 小时前
java继承
java·开发语言
小郑加油1 小时前
python学习Day15:综合训练——数据清洗与缺失值补充
开发语言·python·学习