IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 基于Qt mqtt库的客户端实现 -> 正文阅读

[C++知识库]基于Qt mqtt库的客户端实现

Qt开发MQTT程序有两种方式;

  • Qt官方已经提供了基于MQTT的封装,但是并没有正式加入到Qt的标准库中,需要自己进行编译添加;
  • 基于第三方EMQ开发的MQTT接口;

本文主要介绍第一种方式,即使用Qt官方的MQTT封装库,我们将编译MQTT库,并测试一个官方的Demo。

下载地址

Qt已经在GitHub上托管了相应的MQTT库的代码,地址:https://github.com/qt/qtmqtt

这个库是基于MQTT V3.1和V3.1.1实现的,这里要注意协议版本。

如上图所示,这里有很多分支;

测试环境

Win10+QtCreator + MinGW-W64

QT版本:Qt5.14.01

MQTT库版本:5.14.02

编译QtMqtt库

D:\Qt\Qt5.14.2\5.14.2\mingw73_64\include(安装目录上和帮助里面看到的版本不一致,我不知道为什么)

在Qt的安装目录下新建QtMqtt文件夹;

然后将qtmqtt-5.14.02路径下的文件复制到新建的路径下;

具体的实际路径要根据自己的安装情况为主。

这时候我们重新回到qtmqtt-5.14.02路径下,打开qtmqtt.pro,就可以进行编译了;

?

这里可以编译成Debug和Release模式,编译成功之后就可以找到?Qt5Mqtt.dll

?复制到bin目录下

?复制lib下的文件到安装目录lib下

?这时候,我们可以打开simple mqtt client项目进行测试了,路径如下所示;

这时候已经可以进行编译了,但是会发现有还两个报错情况:

第一个报错信息如下:

Unknown module(s) in QT: mqtt

无法识别mqtt模块;

解决方案如下:

?将qt_lib_mqtt.pri文件和qt_lib_mqtt_private.pri复制到Qt的安装路径下的mkspecs\modules路径中即可?

第二个报错息如下:

QMqttClient does not exist

原因是头文件无法找到,做出如下修改;

//#include <QMqttClient>
#include <QtMqtt/qmqttclient.h>

再次编译运行,程序可以正常运行。

简单总结一下:

  • 库版本和位置是否放置在相应编译工具链目录下。
  • 头文件是否对应到类名文件,并放置到编译工具链目录下。
  • modules-inst下的pri文件是否放置到编译工具链目录的相应目录下,?QT +=mqtt?能否正常工作都依赖目录里的pri文件。
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-06-26 16:45:42  更:2022-06-26 16:46:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:55:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码