我的qt的版本为 5.9.0的arm交叉编译的版本,mqtt准备使用的是qt的官方的QMQTT的库,版本为5.12。
首先从github上下载qmqtt的官方版本:
https://github.com/qt/qtmqtt/tree/5.12在release里面,选择发布的版本:
![qt qmqtt库 的编译 qt qmqtt库 的编译](https://cms-pic.yhzz.com.cn/1683934614350.jpg)
找到本次使用的版本,然后点tar.gz的格式
放到ubuntu中,用命令 tar xvf name 解压。
然后在qt中打开工程:
![qt qmqtt库 的编译1 qt qmqtt库 的编译1](https://cms-pic.yhzz.com.cn/1683934614460.jpg)
然后进行构建,进入到生成的文件夹中:
![qt qmqtt库 的编译2 qt qmqtt库 的编译2](https://cms-pic.yhzz.com.cn/1683934614494.jpg)
生成的库,放入到QT的lib中,所需要的平台上也需要放一遍,便于在所需平台使用的时候,能找到库。
然后新建一个工程:
![qt qmqtt库 的编译3 qt qmqtt库 的编译3](https://cms-pic.yhzz.com.cn/1683934614526.jpg)
在工程文件里添加外部库
:
![qt qmqtt库 的编译5 qt qmqtt库 的编译5](https://cms-pic.yhzz.com.cn/1683934614609.jpg)
最后工程文件里是:
unix:!macx: LIBS += -L$$PWD/../../../qt_px30/install_5.9.0/lib/ -lQt5Mqtt INCLUDEPATH += $$PWD/../../../qt_px30/install_5.9.0/include DEPENDPATH += $$PWD/../../../qt_px30/install_5.9.0/include然后进行代码的编写:
#include “mqtt_client.h” #include <QCoreApplication> #include <QtMqtt/qmqttclient.h> #include <unistd.h> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QMqttClient m_client; m_client.setHostname(“192.168.100.40”); m_client.setPort(1883); m_client.setClientId(“12312312312312”); m_client.setUsername(“admin”); m_client.setPassword(“password”); m_client.connectToHost(); // Mqtt_client w; // w.Connect_clicked(); // sleep(2); // w.publish_code(); return a.exec(); }<
以上是最简单的方式,可以进行链接的查看,更深的探索,需要自己去了解。