[分享]使用QT官方库实现mqtt客户端

lostapple 2018-04-06 11:00:53
因为最近一个物联网项目需要实现各终端状态采集及接收管理端控制指令,前期网上综合查了一下,决定采用mqtt协议,服务端采用的是开源的emqtt。客户端是用qt,网上搜来搜去都是的qmqtt这个第三方库:https://github.com/emqtt/qmqtt/。
后来在官网查了下发现qt官方从5.10开始已经支持mqtt,但是并没有集成到安装版本里。昨天花了一个晚上时间研究了一下,发现比较简单,把实现过程分享一下:
1、用git下载官方源文件
http://code.qt.io/cgit/qt/qtmqtt.git/
2、编译(构建),中间提示要安装perl。
3、从编译输出文件夹拷贝lib到项目(2个.a和2个.dll文件即可)
4、从源文件的src/mqtt目录拷贝所有头文件到项目(因为编译输出下面的include内只是一个到src的连接)
5、在项目中添加外部库。添加后结果如下:
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/qtmqtt/lib/ -lQt5Mqtt
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/qtmqtt/lib/ -lQt5Mqttd
else:unix: LIBS += -L$$PWD/qtmqtt/lib/ -lQt5Mqtt
INCLUDEPATH += $$PWD/qtmqtt/include
DEPENDPATH += $$PWD/qtmqtt/include
6、在项目文件中增加network(QT+= core gui network),头文件中包含#include "QMqttClient.h"
7、编译,在所有编译提示找不到头文件的地方,把#include <QtMqtt/qmqttglobal.h>这种全部修改为#include "qmqttglobal.h"
8、编译通过。
附完整源代码:
https://download.csdn.net/download/lostapple/10329950

...全文
1575 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LVTl81 2020-05-06
  • 打赏
  • 举报
回复 1
请问这个项目用QT咋打开呀大佬?我没有找到工程文件。刚学习,下载了不知道咋用
「已注销」 2019-02-14
  • 打赏
  • 举报
回复 1
我也是这么编译出来的,为什么一直连接不上啊
kin55 2018-06-23
  • 打赏
  • 举报
回复
请问,这个能连接百度云吗?
lostrunner6502 2018-04-06
  • 打赏
  • 举报
回复
可用,不错。

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧