QT之MQTT部署

QT部署MQTT

重新配置了一遍Qt配置Mqtt,借此记录一下过程

前言

使用的是32位的环境进行编译,因为64位的不知道为什么运行一直找不到相关文件,实在想不到解决办法了。
从官网或者GitHub下载Qt的mqtt源码,到处都是这里就不贴出来了。
CSDN:mqtt源码

编译源码

1、解压到文件夹,找到pro文件双击打开
2、使用MINGW32进行构建
3、切换带relese模式
4、直接调式编译,不用运行

部署资源

具体需要以下文件:
1、头文件(在源码的src/mqtt下)
2、lib文件(在编译后自动生成的build文件中)
3、bin文件(在编译后自动生成的build文件中)
4、modues文件(在编译后自动生成的build文件中)

步骤1
直接将源码src中的mqtt文件夹copy,粘贴到qt安装文件的32位文件中的头文件中
在这里插入图片描述
删除其中的所有非头文件(.h结尾)文件
步骤2
将编译后生成的build文件中的lib文件中的这三个文件复制到安装目录的32位的lib文件下
在这里插入图片描述

步骤3

将编译后生成的build文件中的bin文件中的文件复制到安装目录的32位的bin文件下

步骤4

将编译后生成的build文件中的mkspecs中的moudes文件中的这三个文件复制到安装目录的32位的mkspecs中的moudes文件中文件下

测试

按照上述步骤配置完成后,使用Qt creator创建新项目,构建时选择MinGW32位进行。

1、在pro文件中添加模块引用

QT       += mqtt

随后引入头文件,常用的有基本的client库,如下

#include "QtMqtt/QMqttClient"

cpp代码如下:
在这里插入图片描述
测试结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt5 Mqtt模块是用于实现MQTT(Message Queuing Telemetry Transport)协议的Qt模块,它提供了连接到MQTT代理服务器的功能,可以发布和订阅主题消息。在Qt5.12.1版本中,该模块已经包含在Qt的核心库中。 使用Qt5 Mqtt模块,您可以使用以下步骤进行MQTT通信: 1. 创建一个MQTT客户端对象,并连接到MQTT代理服务器。 2. 发布消息到指定的主题。 3. 订阅感兴趣的主题,并接收对应的消息。 以下是一个简单的例子来演示如何使用Qt5 Mqtt模块: ```cpp #include <QtMqtt/QMqttClient> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QMqttClient client; client.setHostname("mqtt.example.com"); // 设置MQTT代理服务器地址 client.setPort(1883); // 设置MQTT代理服务器端口 client.connectToHost(); // 连接到MQTT代理服务器 // 连接成功后,订阅主题 QObject::connect(&client, &QMqttClient::connected, [&client]() { qDebug() << "Connected to MQTT broker"; client.subscribe("mytopic", 0); // 订阅主题 "mytopic" }); // 收到消息时打印出来 QObject::connect(&client, &QMqttClient::messageReceived, [](const QByteArray &message, const QMqttTopicName &topic) { qDebug() << "Received message:" << message << "on topic:" << topic.name(); }); return app.exec(); } ``` 这只是一个简单的例子,您可以根据自己的需求进行进一步的扩展和定制。希望对您有所帮助!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值