QT6 编译官方MQTT模块

QT官方已经提供了mqtt的封装,本篇文章带大家一起做一遍QT6 引入QT官方mqtt移植的过程。

准备工作

下载安装如下环境

  • python

    • 安装方式网上有一堆教程,去官网下载最新版本安装就好了,注意最后添加path
  • perl

  • conan

    • 安装完成python环境后,直接在cmd命令行使用如下指令

    • pip install conan
      

准备工作完成,进入正篇。

下载mqtt源码

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

下载之后,进入源码目录

cd qtmqtt

这时你进入的是dev分支,使用如下指令,

git branch -r

查找对应你安装的QT版本,我的是6.4.0

所以使用如下指令切换到你需要的版本

git checkout -b 6.4.0 /origin/6.4.0

注意版本号换成你的。

打开QT配置你的编译环境

文件-->打开文件或项目-->源码目录下的CMakeLists.txt

第一次打开的时候需要配置编译工具,你想要在什么平台运行那就使用什么kit就好了。

这里博主使用的是mingw64

点击configure

打开工程界面后,就按照平常编译的习惯,选择debug,或者release,点击小锤子,等待编译完成。

编译完成后

有两种使用的方法,一种是直接在你的项目中把qtmqtt当作第三方模块引入;另一种是直接把编译好的文件放在qt的安装目录中,博主这里选择第二种方式。

注意,重头戏来了!

一步一步跟着博主的步骤来复制粘贴。


  1. QT安装目录\版本号\你的编译器\include\ (比如博主的为D:\Qt\6.4.2\mingw_64\include\)目录下新建QtMqtt文件夹,然后把源码\src\mqtt\下的所有文件复制到上面新建的文件夹里。

  2. 复制生成的静态库和动态库以及其他文件。(以下操作需要切换到编译生成的目录 比如build-qtmqtt-Desktop_Qt_6_4_2_MinGW_64_bit-Release

    1. \lib目录下的所有文件和文件夹复制到QT安装目录\版本号\你的编译器\lib\文件夹下面,如果有要替换的那就替换。(可以观察到两个文件夹下面有重复的cmake和pkgconfig文件夹)
    2. \bin目录下的所有.dll后缀文件复制到QT安装目录\版本号\你的编译器\bin\目录下
    3. mkspecs\modules的两个.pri文件复制到QT安装目录\版本号\你的编译器\mkspecs\modules

好了,复制操作大功告成

接下来,新建一个工程,然后在CMakeLists.txt中对应位置分别加上

find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
  • 注意:这里的mytarget 换成你自己的工程名字
#include "qmqttclient.h"

编译,运行,没有报错,大功告成。

QT提供了详细的文档,你可以点击这里查看。

祝无bug。

posted @ 2023-03-08 20:09  波波今天好好学习了吗  阅读(1866)  评论(2)    收藏  举报