1、MQTT源码下载
https://gitcode.com/open-source-toolkit/4b3f0
2、编译源码
(1)解压下载的源码,用QT打开工程文件
(2)构建 --> 执行qmake --> 构建项目(使用Release编译)
(3)找到编译产生的build文件夹,打开lib文件夹,如果生成了如下文件则说明编译成功

注意:
如果没有生成两个.a文件和两个.dll文件则说明编译失败没有成功。
如果只生成一个,则此问题是出在QWebSocket上,具体解决方法我也没搞懂。
如果构建编译,出现如下错误:perl命令无效。则说明你安装QT的时候没有勾选perl工具,自己安装一下perl。
perl官方下载地址:https://www.perl.org/get.html
网盘链接:https://pan.baidu.com/s/1p5YOo-FU-ZLJUtuZSN0Rjg 提取码:i0dm
3、部署MQTT模块
编译出来的Qt Mqtt库,要使用它有两种方式,一种是直接在项目中导入外部库和头文件,还有一种是将其以模块的形式部署到Qt的安装目录,其中第二种的好处就是,只需要做一次操作,以后需要再用Mqtt库就可以直接调用了,不需要每次都导入外部库。
3.1 部署到QT安装目录
(1)将源文件下的qtmqtt/src/mqtt的所有.h头文件拷贝到Qt\5.11.1\mingw53_32\include
(2)将mqtt编译出来的lib目录下的六个文件拷贝到Qt\5.11.1\mingw53_32\lib
(3)将mqtt编译出来的bin目录下的2个dll拷贝到Qt\5.11.1\mingw53_32\bin
(4)将mqtt编译出来的mkspecs\modules下的pri文件拷贝到mingw53_32\mkspecs/modules
3.2 部署到QT项目
(1)将mqtt编译出来的lib目录下的6个文件拷贝到新建工程目录下创建lib文件夹
(2)在源码目录下(qtmqtt\src\mqtt)的所有.h头文件拷贝到新建工程目录下创建include文件夹
(3)导入外部库(项目名右击添加库 --- 外部库 --- 选择.a文件)后,打开新建工程的pro文件会自动添加:
//添加库文件引用:
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqtt
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqttd
//添加include文件的引用:
INCLUDEPATH += $$PWD/include
DEPENDPATH += $$PWD/include