MQTT--Qt5编写MQTT-client客户端

库的下载地址:https://github.com/emqtt/qmqtt 
好不容易编译成功,于是写下经验。


编译环境:

  • 桌面环境:Windows10
  • Qt5版本:这里写图片描述

开始

1、下载库文件:https://github.com/emqtt/qmqtt

2、解压出来

这里写图片描述

3、进入src文件下双击src.pro

这里写图片描述

4、配置文件

这里写图片描述

5、点击build完成

这里写图片描述

6、重点!!! 
- 此时,在根目录下就会生成两个文件夹:include和lib 
- 根目录的意思是:你在哪里打开的就到那个盘的顶目录里找。 
- 比如,我在桌面打开src.pro并且编译的,那么我就得到C ://盘的下面找。以此类推!

这里写图片描述

7、将生成的include文件整个拷贝到刚刚解压出来并且已经编译过的文件目录src/mqtt/中

这里写图片描述

8、新建一个工程

这里写图片描述

9、然后将前面放了include文件的mqtt文件夹整个拷贝到新建的项目工程的文件夹中

这里写图片描述

10、再将src编译出来的在xx根目录的lib文件夹也拷贝到到这个工程下面来 
这里写图片描述

11、然后debug编译一下(一定记得先debug编译一下,因为等下好把dll文件放到生成的debug文件中)将lib文件夹中的两个动态链接库:qmqtt.dll, qmqttd.dll拷贝到新建工程的Debug文件夹中。

这里写图片描述

12、 在QtCreator的工程中添加之前从根目录一直加进来的include文件中的qmqttDepends文件,然再添加那个qmqtt.h头文件。最后添加那两个库文件。 
这里写图片描述

这里写图片描述

这里写图片描述

至此配置完成,接下来就是编写代码进行测试。

13、编写测试代码

(1)在工程pro文件中添加network。

(2)mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "mqtt/qmqtt.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
  •  

(3)mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    QHostAddress host(QString("127.0.0.1"));
    quint16 port = 1883;

    QMQTT::Client * client = new QMQTT::Client();
    client->setHost(host);
    client->setPort(port);
    client->connectToHost();
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

编译通过了就算测试通过了

从Qt5.10开始,官方开始支持MQTT,类名为QtMqtt,5.10之前的版本,可以到地址https://github.com/qt/qtmqtt下下载源码自己编译。

但是安装5.10.1和5.11.1的版本,都没有找到mqtt的类,不知道啥原因

 

from:https://blog.csdn.net/qq_28877125/article/details/78357510

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值