windows下QT5.7.1如何编译MQTT客户端

本文主要讲述在windows平台下QT5.7.1如何编译MQTT客户端,让大家避免我走过的一些弯路。具体MQTT的使用后续会进行更新。

一. 下载源码

一般需要在github或者其它地方下载MQTT客户端的源码,一般都可以下到,这里附上链接: https://github.com/emqtt/qmqtt

注意,此源码必须使用QT5.3以上版本编译。

二. 编译MQTT库

1.  下载完成后,解压qmqtt-master.zip文件夹,会看到如下目录:

原样解压后,此目录下无lib以及include目录。

2.  进入上图所示的src文件夹,用QT5.7.1打开src.pro工程,选择release模式,注意勾选掉shadow build选项,如下图所示:

3. 进行编译,编译完成后,会在原始解压根目录下生成lib文件夹与include文件夹,如下图所示,可步骤1中的图片进行比较。

编译完成后目录
lib文件夹下内容

4. 将生成的lib文件夹以及src目录下的mqtt文件夹全部拷贝到要使用MQTT服务的工程下,比如此处我拷贝到了我自己的测试程序目录下。mqtt文件夹下主要包含的是所需要的MQTT头文件,lib为所需要的MQTT库文件。

测试程序目录

5. 添加头文件qmqtt.h。在工程中添加刚才复制过来的mqtt文件夹下的qmqtt.h头文件,只需要添加这一个头文件即可

工程目录

6. 添加库文件。选择添加库-外部库,然后选择刚才复制过来的lib文件夹下的libqmqtt.a和libqmqttd.a两个库,都添加到工程中。同时,在pro文件中增加头文件绝对路径: 如下代码为示例,增加后,可在自己的代码中直接引用MQTT头文件。

INCLUDEPATH +="F:\studysoftware\QT5\QT5.7.1\testMQTT\mqttText\mqtt"
添加外部库步骤1

     

添加外部库步骤2

7. 至此,所有的步骤均已完成。在测试代码中,完成对MQTT类的引用,如测试代码所示:

#include "widget.h"
#include <QApplication>
#include "qmqtt.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QMQTT::Client *client = new QMQTT::Client();
    client->setClientId("ClientId");
    client->connectToHost();
    Widget w;
    w.show();

    return a.exec();
}

8. 至此,QT使用MQTT客户端的编译工作就完成了。

猜你喜欢

转载自blog.csdn.net/Davidsdu/article/details/84144166
今日推荐