QT安装MQTT库的实现步骤

 更新时间:2026年01月05日 09:27:04   作者:小汪同学!!!  
本文分别介绍了在Windows、Linux、ARM板卡下给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(使用方法参看:操作二、三、四)
cmakeCMakeLists.txt文件查看源码下是否有CMakeLists.txt文件,有CMakeLists.txt文件才能使用cmake(使用方法查看:操作六)
makeMakefile文件一般执行完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>

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源码的目录下,然后依次执行qmakemakemake 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 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C/C++实现遍历文件夹最全方法总结

    C/C++实现遍历文件夹最全方法总结

    这篇文章主要为大家介绍了C/C++实现遍历文件夹功能的最全方法总结,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-09-09
  • C/C++实现三路快速排序算法原理

    C/C++实现三路快速排序算法原理

    这篇文章主要为大家详细介绍了C/C++实现三路快速排序算法原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • C语言跳转浏览器打开指定URL的操作代码

    C语言跳转浏览器打开指定URL的操作代码

    这篇文章主要介绍了C语言跳转浏览器打开指定URL,该代码使用sprintf()函数将要打开的URL添加到一个系统命令中,然后使用system()函数调用该命令以默认浏览器打开URL,需要的朋友可以参考下
    2023-04-04
  • 详解C++的JSON静态链接库JsonCpp的使用方法

    详解C++的JSON静态链接库JsonCpp的使用方法

    这篇文章主要介绍了C++的JSON静态链接库JsonCpp的使用方法,演示了使用JsonCpp生成和解析JSON的方法,以及C++通过JSON方式的socket通信示例,需要的朋友可以参考下
    2016-03-03
  • C语言实现大数据文件的内存映射机制

    C语言实现大数据文件的内存映射机制

    这篇文章主要介绍了C语言实现大数据文件的内存映射机制的相关资料,需要的朋友可以参考下
    2017-01-01
  • 汇编语言常见错误信息中文注解

    汇编语言常见错误信息中文注解

    这篇文章主要介绍了汇编语言常见错误信息中文注解,本文收集大部分汇编中常见错误信息及对应的中文注解,需要的朋友可以参考下
    2014-09-09
  • C语言三分钟精通时间复杂度与空间复杂度

    C语言三分钟精通时间复杂度与空间复杂度

    算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是度量算法执行的时间长短;而空间复杂度是度量算法所需存储空间的大小
    2022-02-02
  • C++中用new创建二维数组和指针数组实例代码

    C++中用new创建二维数组和指针数组实例代码

    这篇文章主要介绍了C++中用new创建二维数组和指针数组实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-03-03
  • C++算法之海量数据处理方法的总结分析

    C++算法之海量数据处理方法的总结分析

    本篇文章是对海量数据处理方法进行了详细的总结与分析,需要的朋友参考下
    2013-05-05
  • C++中的强制类型转换操作详解

    C++中的强制类型转换操作详解

    C++中提供了四种强制类型转换技术:static_cast、dynamic_cast、reinterpret_cast和const_cast。这些技术能够在需要时将一种类型转换为另一种类型,但需要注意它们的适用条件和安全性。程序员需要根据具体情况选择合适的强制类型转换方式,以确保程序的正确性和可靠性
    2023-04-04

最新评论