Qt5 使用 Qt官方Qt MQTT
qt版本:
qt 5.15.2
一.下载源代码
Qt官方在github上提供了源代码,地址:https://github.com/qt/qtmqtt
二.编译
1.进入源代码目录,双击qtmqtt.pro打开工程:
2.选择release进行编译,发现报错:
“fatal error: QtMqtt/qmqttglobal.h: No such file or directory”
解决方法如下:
在qt安装目录指定的路径下,新建QtMqtt文件夹。并且将qtmqtt源码目录中的:src/mqtt/ 目录下的所有头文件拷贝到前面新建的QtMqtt文件夹目录下面。操作完成如下图所示:
3.重新编译,发现又报如下错误
点进去发现错误的地方是:
再去看m_receiveAliases和m_publishAliases的定义,发现对应的类型是QList。
分析:QList类型是没有resize()函数的。
修改:将QList 修改为QVector即可。如下图所示:
4.再次编译,编译通过。
5.拷贝生成目录/lib 目录下的库到 qt对应的lib目录
6.拷贝生成目录/bin下的库到qt对应的bin目录,如下图所示:
7.最后再拷贝模块配置文件到Qt安装目录中,如下图所示:
8.大功告成。可以使用QMqtt先关的类了。
三.使用QMQtt
- .pro文件中增加 :
QT += mqtt
2.包含头文件 #include <QtMqtt/qmqttclient.h> - 创建客户端