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
相关推荐
吹什么轩1 小时前
c++复习:map和set的使用
开发语言·c++
必须得开心呀1 小时前
qt生成dump文件并定位异常
开发语言·qt
fpcc2 小时前
跟我学C++中级篇—内存流
开发语言·c++
Cicada1282 小时前
ccvt:一个用 Rust 写的中国地图坐标系互转命令行工具
开发语言·后端·rust
1001101_QIA2 小时前
工控机网络配置
开发语言·数据库·php
程序员雷欧2 小时前
ThreadPoolExecutor 深度解析:从核心参数到源码实现的全面剖析
java·开发语言·jvm
catchadmin2 小时前
对标 npx 的 CPX PHP 的 Composer 包执行器
开发语言·php·composer
一位狮子座的程序员3 小时前
如何用RAG解决AI智能体的知识盲区?
开发语言·c#
吹什么轩3 小时前
c++复习:模拟实现list来更好的理解和应用list
开发语言·c++