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
相关推荐
xzjiang_36521 小时前
检查是否安装了MinGW 编译器
开发语言·qt·visual studio code
百锦再1 天前
Java JUC并发编程全面解析:从原理到实战
java·开发语言·spring boot·struts·kafka·tomcat·maven
清水白石0081 天前
突破性能瓶颈:深度解析 Numba 如何让 Python 飙到 C 语言的速度
开发语言·python
Eternity∞1 天前
Linux系统下,C语言基础
linux·c语言·开发语言
wangluoqi1 天前
c++ 树上问题 小总结
开发语言·c++
Go_Zezhou1 天前
pnpm下载后无法识别的问题及解决方法
开发语言·node.js
前路不黑暗@1 天前
Java项目:Java脚手架项目的 C 端用户服务(十五)
java·开发语言·spring boot·学习·spring cloud·maven·mybatis
一个处女座的程序猿O(∩_∩)O1 天前
Python异常处理完全指南:KeyError、TypeError、ValueError深度解析
开发语言·python
好学且牛逼的马1 天前
从“Oak”到“虚拟线程”:JDK 1.0到25演进全记录与核心知识点详解a
java·开发语言·python
shangjian0071 天前
Python基础-环境安装-Anaconda配置虚拟环境
开发语言·python