QT5.10 编译配置 QtMqtt

  • @[TOC](QT5.10 编译配置 QtMqtt)
  • 一、编译准备
  • 1、QtMqtt源码下载:
  • 千万记得选择对应的版本!!!
  • 2.下载后解压,用qtcreator打开下图中的qtmqtt.pro.
  • 3、此时还不能编译通过,编译此源码需要安装perl:
  • 二、开始编译
  • 1、此时开始编译后会出现如下类型错误
  • 在这里插入图片描述
  • 2、此时编译还有问题,别急,我们一步一步解决
  • 这时,我们将所有错误的包含文件名换为相应*.h文件,如下:
  • 此时编译一下,完美通过!!!
  • 三、部署到QT安装目录中
  • 1、这里我们介绍第二种
  • 1)首先,复制头文件到QT安装目录
  • 2)复制.dll文件到QT目录的bin文件夹下
  • 3)复制release 文件夹下的 **.lib** 和 **.prl** 到lib 目录下
  • 4) 复制模块配置文件到QT安装目录中
  • 我们来测试一下,模块有没有安装成功
  • 最后编译试一下!
  • 这里是我运行源码中的样例:
  • 最后分享一个MQTT服务器:EMQX Broker

一、编译准备

1、QtMqtt源码下载:

https://github.com/qt/qtmqtt.

centos7编译qt5 qt编译配置_iot

千万记得选择对应的版本!!!

centos7编译qt5 qt编译配置_iot_02

2.下载后解压,用qtcreator打开下图中的qtmqtt.pro.

我的环境是Qt5.10 + vs2013

centos7编译qt5 qt编译配置_iot_03

3、此时还不能编译通过,编译此源码需要安装perl:

https://www.perl.org/get.html.下载完成直接安装,一直下一步即可。

二、开始编译

1、此时开始编译后会出现如下类型错误

centos7编译qt5 qt编译配置_tcpip_04

接下来我们将源码路径下C:\Users\maogu\Desktop\qtmqtt-5.10\src\mqtt 的所有头文件复制,

粘贴到C:\Users\maogu\Desktop\build-qtmqtt-Desktop_Qt_5_10_1_MSVC2013_64bit-Release\include\QtMqtt路径中,

我在include文件夹中已经建好QtMqtt文件夹,(以上路径仅作参考)

最后一步还要在QtMqtt文件夹下建立private文件夹,将名称为*_p.h的四个头文件存放进去。

如下:

centos7编译qt5 qt编译配置_centos7编译qt5_05


2、此时编译还有问题,别急,我们一步一步解决

centos7编译qt5 qt编译配置_tcpip_06

这时,我们将所有错误的包含文件名换为相应*.h文件,如下:

centos7编译qt5 qt编译配置_qt_07


此时编译一下,完美通过!!!

centos7编译qt5 qt编译配置_mqtt_08

三、部署到QT安装目录中

编译通过了,怎么才能方便的调用呢,有两种方式

1)、直接在项目中导入外部库和头文件

2)、将其以模块的形式部署到Qt的安装目录,只需要做一次操作,以后需要再用Mqtt库就可以直接调用了,不需要每次都导入外部库。

1、这里我们介绍第二种

1)首先,复制头文件到QT安装目录

C:\Users\maogu\Desktop\build-qtmqtt-Desktop_Qt_5_10_1_MSVC2013_64bit-Release\include\QtMqtt 路径下的所有头文件复制,

在QT安装目录C:\Qt\Qt5.10.1\5.10.1\msvc2013_64\include ,在include文件夹下新建mqtt文件夹,把文件粘贴进去

centos7编译qt5 qt编译配置_iot_09


centos7编译qt5 qt编译配置_qt_10

2)复制.dll文件到QT目录的bin文件夹下

centos7编译qt5 qt编译配置_tcpip_11


centos7编译qt5 qt编译配置_qt_12

3)复制release 文件夹下的 .lib 和 .prl 到lib 目录下

centos7编译qt5 qt编译配置_iot_13


centos7编译qt5 qt编译配置_mqtt_14

4) 复制模块配置文件到QT安装目录中

centos7编译qt5 qt编译配置_qt_15


centos7编译qt5 qt编译配置_iot_16


我们来测试一下,模块有没有安装成功

新建项目,在pro文件中添加 QT += network mqtt

centos7编译qt5 qt编译配置_tcpip_17


然后在需要的头文件中添加引用如下图1,:

centos7编译qt5 qt编译配置_centos7编译qt5_18


如果你想像2中一样,方便的引用模块,我们需要在安装目录mqtt中新建对应的类文件,里面添加对应的头文件引用,如下图:

centos7编译qt5 qt编译配置_qt_19


centos7编译qt5 qt编译配置_mqtt_20


centos7编译qt5 qt编译配置_centos7编译qt5_21

最后编译试一下!

这里是我运行源码中的样例:

服务地址:broker.hivemq.com 端口:1883

centos7编译qt5 qt编译配置_iot_22