1)编译Qt的Mqtt源码,使之生成库,方法如下:
去Github中下载相关的源码版本,并编译(我的Qt版本是5.14版本):
https://github.com/qt/qtmqtt/tree/5.14.0
2)编译Mqtt源码会有问题,如下图所示:
解决方法如下:
把" xxx\qtmqtt-5.14.0\src\mqtt"目录下的所有头文件,复制到"xxx\Qt5.14.2\5.14.2\mingw73_64\include\QtMqtt"的目录下图,再次编译即可;
3)编译后生成的dll文件位置,如下图所示:
4)把上面生成好的dll文件,拷贝到如下安装目录中:
5)把静态库按如下格式添加到工程文件中,如下图所示:
6)编译或运行时的问题及解决方法:
a) 如果运行程序出现类似“QT 程序异常结束”的时候,可能库文件添加的不对,需要检查;
b) "xxx.dll"动态库和"xxx.a"静态库会和debug和release有关,(高版本Mqtt,可能不会受此影响);
7)有没有可以参考的对应Mqtt客户端程序呢,答案是有的,就在提供的生成源码库文件中,如下图:
可以参考这个源码,就可以编写简单的Qt的Mqtt客户端程序了;
8)mosquitto的windows服务器搭建及应用;
注:服务器启动搭建的方法,下载地址如下,安装方法:一路next即可:
https://mosquitto.org/download/
9)mosquitto服务器的运行效果如下图所示:
相关的发布和订阅命令,如下:
//mosquitto_sub -h "192.168.1.38" -p 1983 -u test -P test -t "11" //在dos中输入定义Mqtt消息
//mosquitto_pub -h "192.168.1.38" -p 1983 -u test -P test -t "11" -m "hello world" //在dos下发布消息
// 命令 hostname port username passwd topic message