圣辉友联做网站公司,美工素材网站,视频seo优化教程,域名怎么解析到服务器一、QT MQTT
提供 MQTT 客户端服务的 Qt 专用库基于标准化发布 / 订阅协议#xff0c;用于在设备和组件之间可靠地共享数据。MQTT 是为保证状态正确性、满足高安全标准和交换最小数据而设计的协议#xff0c;因此被广泛应用于各种分布式系统和物联网解决方案中。
Qt开发MQT…一、QT MQTT
提供 MQTT 客户端服务的 Qt 专用库基于标准化发布 / 订阅协议用于在设备和组件之间可靠地共享数据。MQTT 是为保证状态正确性、满足高安全标准和交换最小数据而设计的协议因此被广泛应用于各种分布式系统和物联网解决方案中。
Qt开发MQTT程序有两种方式一个是Qt官方提供的基于MQTT的封装一个是第三方EMQ开发的用于Qt调用MQTT的接口二者使用方法大同小异并且均提供了源码。那么这里先来介绍第一种如基于Qt官方提供的封装来使用MQTT。
Qt官方虽然在2017年就已经提供了对MQTT的封装但是并没有正式加入到Qt的标准库里面所以需要自己下载源码进行编译。
Qt官方介绍文档地址https://doc.qt.io/QtMQTT/qtmqtt-index.html
二、如何使用
1.下载与编译
Qt官方在github上提供了源代码地址https://github.com/qt/qtmqtt 本人pc上安装的QT版本为 Qt5.14.2,固选择下载了5.14.2版本
2.编译
下载完成后解压 用qtCreator打开 qtmqtt.pro项目文件 然后笔者选择了MinGW_64 来构建工程 注下面引用的路径均为笔者自己电脑上的路径请读者按照自己的路径修改 遇到问题1
qmqttauthenticationproperties.h:33: error: C1083: 无法打开包括文件: “QtMqtt/qmqttglobal.h”: No such file or directory
解决 在qt sdk路径C:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\ 下面创建QtMqtt目录然后把下载下来的源码src/mqttt下面的所有.h文件拷贝到qt sdk下新创建的QtMqtt目录下 2.集成
如图是编译产生的目录结构 1 把bin目录下的Qt5Mqtt.dll\Qt5Mqttd.dll 拷贝到C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin目录下 2 把lib 下面的libQt5Mqtt.a\libQt5Mqttd.a 拷贝到C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib目录下 3 把mkspecs\modules-inst下面的qt_lib_mqtt.pri 和 qt_lib_mqtt_private.pri拷贝到C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules目录下不拷贝好像也没事
3.运行demo
随便测试个小demo 笔者用的是example下的simpleclient构建报错error: ‘QMqttClient’ file not found 找不到QMqttClient改成下面即可。然后运行
//#include QMqttClient
#include QtMqtt/qmqttclient.h