首先 QT的版本和mqtt包的版本要一致(我这里QT和mqtt的版本都是5.14.2)
QT安装包(5.14.2)下载地址:Index of /archive/qt/5.14
mqtt包的一个连接(可以选择相应的版本) GitHub - qt/qtmqtt at 5.14.2
将mqtt包解压后,mqtt.pro使用QTCREATOR打开,用release编译。
编译中可能会出错: “QtMqtt/qmqttglobal.h”: No such file or directory
将mqtt包里面src源码文件夹下所有头文件复制一份到 QT安装包目录下include/mqtt文件夹即可解决。
之后构建成功后有以下步骤:
1.将mqtt包 构件目录里面的 lib中的文件全部复制到对应QT编译器的lib文件夹中
2.将mqtt包 构件目录里面的bin文件夹下的文件 复制到对应QT编译器的bin文件夹中
3.将mqtt包 构件目录里面的mkspecs文件夹下的modules或者modules-inst 文件夹下的文件复制到QT编译器对应的目录下
4.将mqtt包里面的 examples\mqtt\simpleclient文件夹复制一份到工程目录(即复制一份来实验),找开后,添加mqtt模块。将pro文件里面东西改成这样。
再将mainwindow.h头文件改成这样然后就不会报错了
然后点击运行 就会出现一个界面了
官方提供了 test.mosquitto.org 和 broker.hivemq.com 两个测试地址),也可以使用自己的地址。下面进行一些测试:
State Change0 表示等待中
State Change2 表示已连接上。
5.进行我自己的一个QT项目进行测试
双击工程里面的.pro文件打开工程 点击configure project
点击构建后报出这个错误
原因是这个路径有错 改正方法 将QT安装包里面的mingw73_64文件夹下面的lib文件夹(当然也可以是其它的 如mingw73_32文件夹) 复制到工程里面(lib文件夹) 然后根据存放的位置,复制这个文件夹(lib文件夹)的路径。
在这个QT的.pro文件下面的这个语句 LIBS += H:\MqttTest\lib\lib*.a 将这个错误的路径 改成这个文件夹的路径 (LIBS += D:\QTcode\led\MqttTest1\lib\lib*.a) (我的路径) 然后再次构件 我这里选的是64位的 然后构件选的是release 后面直接运行就出来了
都成功了嘛!!!