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
相关推荐
不会代码的小猴19 分钟前
C++新增关键字
开发语言·c++·笔记
yaoxin52112323 分钟前
497. Java 反射 - 使用反射读取注解
java·开发语言·python
2019一路前行34 分钟前
Python 函数式编程
开发语言·python
冯汉栩1 小时前
Swift Control View,Label渐变颜色(源码)
开发语言·ios·swift
从小就看凹凸曼^o^3 小时前
Python基础5 - 字典与集合:(1)字典
开发语言·python
Herbert_hwt3 小时前
第七章 Java深入理解枚举类型
java·开发语言·算法
侧耳倾听1113 小时前
java 日志框架简介
java·开发语言
zlinear数据采集卡3 小时前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#
全栈技术负责人3 小时前
解密 MCP(Model Context Protocol):大模型时代的“Type-C”总线与三驾马车架构深度解析
开发语言·ai·架构
丰锋ff3 小时前
1.7在Qt窗口中添加右键菜单
开发语言·qt