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
相关推荐
一直都在5728 分钟前
SpringBoot3 框架快速搭建与项目工程详解
java·开发语言
子云之风9 分钟前
LSPosed 项目编译问题解决方案
java·开发语言·python·学习·android studio
lendsomething16 分钟前
graalvm使用实战:在java中执行js脚本
java·开发语言·javascript·graalvm
烤麻辣烫16 分钟前
java进阶--刷题与详解-2
java·开发语言·学习·intellij-idea
期待のcode17 分钟前
性能监控工具
java·开发语言·jvm
小屁猪qAq26 分钟前
设计模式总纲
开发语言·c++·设计模式
不绝19132 分钟前
C#核心:多态
开发语言·c#
Howrun77732 分钟前
C++标准线程库-全面讲解
开发语言·c++
浪扼飞舟34 分钟前
C#(多线程和同步异步)
java·开发语言
万行34 分钟前
机器人系统SLAM讲解
开发语言·python·决策树·机器学习·机器人