QT安装MQTT库的实现步骤
作者:小汪同学!!!
前言
- 本文分别介绍了在Windows、Linux(Ubuntu系统)、ARM板卡(瑞芯微RK3576)下给QT安装MQTT库的步骤。
- 操作(二、三、四)只适用于QT5安装MQTT库;操作五用于QT6安装MQTT库。
- qmake、cmake、make(注意Windows下make为mingw32-make)使用时候所依赖的文件:
| 指令 | 所需文件 | 说明 |
|---|---|---|
| qmake | .pro文件 | 查看源码下是否有.pro文件,有.pro文件才能使用qmake(使用方法参看:操作二、三、四) |
| cmake | CMakeLists.txt文件 | 查看源码下是否有CMakeLists.txt文件,有CMakeLists.txt文件才能使用cmake(使用方法查看:操作六) |
| make | Makefile文件 | 一般执行完qmake或cmake后会生成Makefile文件,此时执行make即可 |
QT5的MQTT库使用的是qmake,QT6的MQTT库已经都在使用cmake。
一. 下载QT官方的MQTT源码
代码地址:https://gitcode.com/gh_mirrors/qt/qtmqtt/tree/dev
根据电脑上的QT版本下载MQTT的版本

二. Windows下QT5安装MQTT库
2.1 方法1(使用Qt qcreator编译,然后自行移植)
1.解压源码,然把MQTT源码\src\mqtt文件夹下的.h文件打包到一个QtMqtt的文件下、并把文件夹移动到QT安装目录的\mingw73_64\include文件夹里。

2.使用Qt qcreator打开 MQTT源码下qtmqtt.pro工程文件,并进行编译
3.源码编译完成后,将生成的动态库和静态库复制到QT安装目录下对应存放库的路径下
编译完成会生成一个build-qtmqtt-Desktop_Qt_5_14_2_MinGW_64_bit-Debug的文件夹,主要复制该文件夹下bin、include、lib、mkspecs文件夹的文件
- bin :主要存放动态库
- include :主要存放头文件
- lib :主要存放静态库
- mkspecs :构建规范文件(有这个文件可以直接在QT的.pro文件中添加mqtt模块 如:QT += core gui network mqtt)
把bin文件夹下的文件复制到QT安装目录下的mingw73_64\bin文件夹

把include 文件夹下的QtMqtt文件夹复制到QT安装目录下的mingw73_64\include 文件夹,之前复制的.h文件不要删

把lib 文件夹下的文件复制到QT安装目录下的mingw73_64\lib 文件夹
lib\cmake文件夹下的QtMqtt文件夹复制到QT安装目录下的mingw73_64\lib\cmake文件夹
lib\pkgconfig文件夹下的文件复制到QT安装目录下的mingw73_64\lib\pkgconfig文件夹
lib文件夹下的libQt5Mqtt.、Qt5Mqtt.prl文件复制到QT安装目录下的mingw73_64\lib文件夹

把mkspecs\modules-inst文件夹下的文件复制到QT安装目录下的mingw73_64\mkspecs\modules文件夹

4.打开并运行MQTT自带的例子(以simpleclient工程为例;工程路径:MQTT源码下examples\mqtt\simpleclient文件夹)
在编译工程时候会报错,此时修改一下头文件即可
#include <QMqttClient> #include <QtMqtt/QMqttClient> //将上面两个头文件修改为下面的头文件 #include <QtMqtt/qmqttclient.h>
编译成功后,使用MQTT服务端工具进行调试(MQTT在线工具:http://course.xnkiot.com/tools)


2.2 方法2(使用命令行编译安装)
1.先按照2.1 的步骤1把.h文件移动到QT安装目录的\5.14.2\mingw73_64\include文件夹里
2.打开MinGW的控制台

3.进入到MQTT源码的目录下,然后依次执行qmake、mingw32-make、mingw32-make install 指令
qmake、mingw32-make、mingw32-make install 指令的功能
- qmake :构建生成Makefile文件
- mingw32-make :根据Makefile文件编译源代码,生成静态、动态库等目标文件
- mingw32-make install :将编译好的静态、动态库等目标文件复制到系统的标准安装目录中,使其可以被系统使用


4.完成上面操作后,MQTT库此时已经被安装在QT的安装目录下(即完成了2.1 的步骤3的复制工作),然后按照 2.1 的步骤4进行MQTT自带例子的测试
三. Linux下QT5安装MQTT库
3.1 方法1(使用Qt qcreator编译,然后自行移植)
1.解压源码,然把MQTT源码\src\mqtt文件夹下的.h文件打包到一个QtMqtt的文件下、并把文件夹移动到QT安装目录的\gcc_64\include文件夹.

2.使用Qt qcreator打开 MQTT源码下qtmqtt.pro工程文件,并进行编译
3.源码编译完成后,将生成的动态库和静态库复制到QT安装目录下对应存放库的路径下
编译完成会生成一个build-qtmqtt-Desktop_Qt_5_14_2_GCC_64bit-Debug的文件夹,主要复制该文件夹下bin、include、lib、mkspecs文件夹的文件
- Linux系统下编译后,bin是空的,所以不用复制
- 把include 文件夹下的QtMqtt文件夹复制到QT安装目录下的\gcc_64\include 文件夹,之前复制的.h文件不要删
- 把lib 文件夹下的文件复制到QT安装目录下的\gcc_64\lib 文件夹

把mkspecs\modules-inst文件夹下的文件复制到QT安装目录下的\gcc_64\mkspecs\modules文件夹
4.按照 2.1 的步骤4进行MQTT自带例子的测试
3.2 方法2(使用命令行编译安装)
1.先按照3.1 的步骤1把.h文件移动到QT安装目录的\gcc_64\include文件夹里
2.进入到MQTT源码的目录下,然后依次执行qmake、make、make install 指令

3.完成上面操作后,MQTT库此时已经被安装在QT的安装目录下(即完成了3.1 的步骤3的复制工作),然后按照 2.1 的步骤4进行MQTT自带例子的测试
四. ARM板卡(RK3576)下QT5安装MQTT库
4.1 安装QT5的基本库
1.QT的安装
- qtbase5-dev :包含qt最基础的类库
- qtbase5-dev-tools :开发qt时所用到的工具
- qt5-qmake :安装qmake
一般在安装qtbase5-dev库时候会自动安装qtbase5-dev-tools 、qt5-qmake,为防止意外也再安装一下这两个库。
apt-get install qtbase5-dev qtbase5-dev-tools qt5-qmake
2.QT的安装路径
QT安装成功后,在开发板上QT的安装路径会不一样,下面是QT主要的文件安装路径:
- bin路径:
/usr/lib/aarch64-linux-gnu/qt5/bin - lib路径:
/usr/lib/aarch64-linux-gnu - include路径:
/usr/include/aarch64-linux-gnu/qt5
4.2 安装QT5的MQTT库
建议安装5.14版本以上的MQTT库,我安装的是5.14.2(低版本的可能会有某些函数不能使用)。
这里使用的是直接编译安装的方法,不用使用移植的方法,移植的方法在这里比较麻烦。
1.先按照3.1 的步骤1把.h文件移动到QT安装目录的/usr/include/aarch64-linux-gnu/qt5文件夹里
2.进入到MQTT源码的目录下,然后依次执行下面指令(执行过程中会有警告,忽略即可)。
# 生成编译环境 qmake # 编译 make # 安装 sudo make install
3.MQTT库安装成功后,会在/usr/lib/aarch64-linux-gnu下生成库文件。

4.完成上面操作后,MQTT库此时已经被安装在QT的安装目录下,然后按照 2.1 的步骤4进行MQTT自带例子的测试
五. Linux下QT6安装MQTT库
1.在linux下完成QT6的安装(本操作使用的是:QT6.8.3)。
安装QT6的时候记得安装QT6自带的cmake,Linux系统自带的cmake可能版本太低,导致编译不成功。

2.请按照操作一,下载QT6相应版本的MQTT源码。
3.把源码拷贝到Linux下,进行下面的操作
# 1.进入mqtt源码目录 cd qtmqtt-6.8.3/ # 2.创建build目录 mkdir build # 3.进入build目录 cd build # 4.设置环境变量,告诉 CMake 在哪里查找 Qt6(下面的路径根据实际情况修改) export CMAKE_PREFIX_PATH=/home/topeet/Qt/6.8.3/gcc_64/ # 5.使用cmake生成编译环境(使用QT6自带的cmake,Linux系统自带的cmake可能版本太低,可能导致编译不成功) /home/topeet/Qt/Tools/CMake/bin/cmake .. # 6.使用make进行编译 make # 7.使用 make install进行自动安装(安装完成后到QT6安装目录下查找MQTT库,若没找到MQTT库,请执行下面的复制步骤) make install
4.若make install 安装不能用,请然后按照3.1的步骤3进行复制即可,需要复制的文件都在build目录下。
5.完成上面操作后,MQTT库此时已经被安装在QT的安装目录下,按照 2.1 的步骤4进行MQTT自带例子的测试
到此这篇关于QT安装MQTT库的实现步骤的文章就介绍到这了,更多相关QT安装MQTT 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
