当前位置: 首页>编程语言>正文

Qt5 使用 Qt官方Qt MQTT

Qt5 使用 Qt官方Qt MQTT

qt版本:
class="superseo">qt 5.15.2

一.下载源代码

Qt官方在github上提供了源代码,地址:https://github.com/qt/qtmqtt
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_qt,第1张

二.编译

1.进入源代码目录,双击qtmqtt.pro打开工程:
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_文件拷贝_02,第2张
2.选择release进行编译,发现报错:
“fatal error: QtMqtt/qmqttglobal.h: No such file or directory”
解决方法如下:
在qt安装目录指定的路径下,新建QtMqtt文件夹。并且将qtmqtt源码目录中的:src/mqtt/ 目录下的所有头文件拷贝到前面新建的QtMqtt文件夹目录下面。操作完成如下图所示:
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_c++_03,第3张3.重新编译,发现又报如下错误
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_c++_04,第4张
点进去发现错误的地方是:
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_github_05,第5张
再去看m_receiveAliases和m_publishAliases的定义,发现对应的类型是QList。
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_文件拷贝_06,第6张
分析:QList类型是没有resize()函数的。
修改:将QList 修改为QVector即可。如下图所示:
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_github_07,第7张
4.再次编译,编译通过。
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_c++_08,第8张
5.拷贝生成目录/lib 目录下的库到 qt对应的lib目录
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_c++_09,第9张
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_c++_10,第10张
6.拷贝生成目录/bin下的库到qt对应的bin目录,如下图所示:
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_qt_11,第11张
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_qt_12,第12张
7.最后再拷贝模块配置文件到Qt安装目录中,如下图所示:
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_github_13,第13张
Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_解决方法_14,第14张
8.大功告成。可以使用QMqtt先关的类了。

三.使用QMQtt

  1. .pro文件中增加 :
    QT += mqtt
    2.包含头文件 #include <QtMqtt/qmqttclient.h>
  2. 创建客户端Qt5 使用 Qt官方Qt MQTT,Qt5 使用 Qt官方Qt MQTT_文件拷贝_15,第15张



https://www.xamrdz.com/lan/5rg1924390.html

相关文章: