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


编译环境:

  • 桌面环境:Windows10
  • Qt5版本:

开始

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

2、解压出来

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_根目录

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

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_github_02

4、配置文件

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_根目录_03

5、点击build完成

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_#include_04

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

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_github_05

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

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_github_06

8、新建一个工程

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_根目录_07

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

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_github_08

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

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_根目录_09

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

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_github_10

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

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_根目录_11

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_根目录_12

发布大量消息好用的mqtt Java客户端 mqtt客户端编写_#include_13

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

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的类,不知道啥原因