QT_CONFIG宏使用

devtools/2024/11/19 3:36:10/

时常在Qt代码中看到QT_CONFIG宏,之前以为和#define、DEFINES +=差不多,看了定义才发现不是那么回事,定义如下:

看注释就知道了QT_CONFIG宏,其实是:实现了一个在编译时期安全检查,检查指定的Qt特性是否存在或是否可利用。

传入的值为:

1)0或者未定义:这将导致一个编译时期的错误(有点类似C++11的static_assert,其实其幕后就是static_assert实现的)。

2)-1:指定的Qt特性不可用。

3)1:指定的Qt特性可利用。


效果如下:

1)未定义:

2)未使能:

 3)使能:

 通过上面的1)还发现了源头:在Qt的安装目录中:

C:\Qt\Qt5.12.6\5.12.6\msvc2017_64\include\QtNetwork\下的qtnetwork-config.h中是有QT_FEATURE_ssl定义的。

因此,QT_CONFIG宏正好可以检测出Qt特性是否存在!


http://www.ppmy.cn/devtools/135105.html

相关文章

OBOO鸥柏“触摸屏广告一体机交互”亮相2024中国珠海航展

2024年11月12日,第十五届中国国际航空航天博览会(简称中国航展或珠海航展)在珠海拉开帷幕。展会现场,既有OBOO鸥柏一大批高精尖液晶显示产品集体亮相,也有航天相关科技领域及飞行表演队炫技蓝天等。在中国航展的各个科…

【EmbeddedGUI】脏矩阵设计说明

脏矩阵设计说明 背景介绍 一般情况下,当屏幕内容绘制完毕后,实际应用通常需要更新屏幕中的一部分内容,而不是单纯显示一个静态图片在那。 如下图所示,屏幕中有一个图片控件(Img2)和一个文本控件&#xf…

【SPIE出版,EI稳定检索】2024年信号处理与神经网络应用国际学术会议(SPNNA 2024,12月13-15日)

2024年信号处理与神经网络应用国际学术会议(SPNNA 2024) 2024 International Conference on Signal Processing and Neural Network Applications 官方信息 会议官网:www.spnna.org 2024 International Conference on Signal Processing an…

JS学习日记(jQuery库)

前言 今天先更新jQuery库的介绍,它是一个用来帮助快速开发的工具 介绍 jQuery是一个快速,小型且功能丰富的JavaScript库,jQuery设计宗旨是“write less,do more”,即倡导写更少的代码,做更多的事&#xf…

【HAProxy08】企业级反向代理HAProxy高级功能之自定义日志格式与IP透传

HAProxy 高级功能 介绍 HAProxy 高级配置及实用案例 自定义日志格式 log global 开启日志功能,默认只会在记录下面格式的日志 [roothaproxy ~]#tail /var/log/haproxy.logApr 9 19:38:46 localhost haproxy[60049]: Connect from 172.16.0.200:54628 to 172.1…

蓝桥杯每日真题 - 第11天

题目:(合并数列) 题目描述(14届 C&C B组D题) 解题思路: 题意理解:给定两个数组,目标是通过若干次合并操作使两个数组相同。每次合并操作可以将数组中相邻的两个数相加&#xff…

Flutter-左侧导航栏跟随窗口的宽变化

前言 现在有一个需求:左侧导航栏跟随窗口的宽度变化而变化 当宽度>1000时,左侧导航栏全部展示,1000>宽度>500时,左侧导航栏只展示图标,500>宽度时,左侧导航栏消失,顶部出现菜单选择图标&…

一文了解Android的核心系统服务

在 Android 系统中,核心系统服务(Core System Services)是应用和系统功能正常运行的基石。它们负责提供系统级的资源和操作支持,包含了从启动设备、管理进程到提供应用基础组件的方方面面。以下是 Android 中一些重要的核心系统服…