Qt搭建MQTT编程环境

发布时间:2023年12月17日

QT 部署官方MQTT模块
在Qt Creator中,默认是没有部署Mqtt模块的,在使用QT编程之前,先把mqtt 模块部署到开发环境当中。参考博文:Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建_长沙红胖子-CSDN博客

下载

Qt官方在github上提供了源代码,地址:https://github.com/qt/qtmqtt.选择对应的版本下载

  • 编译源码

打开源码文件,双击.pro打开工程文件,选择release编译。

编译这个源码需要安装perl,否则会报错:perl 不是内部或外部命令,也不是可运行的程序。

perl下载地址:https://www.perl.org/get.html

安装完Perl后会自动写入环境变量, 这时候再次编译(Release模式)QtMqtt源码,编译完成后得到以下文件
?

编译遇到的错误:

1、编译过程会出现没有没有找到qtmqtt相关头文件的情况,这是没有找到qtmqtt的相关头文件:

/home/macian/Project/mqtt/qtmqtt-5.12.7/src/mqtt/qmqttauthenticationproperties.h:33: error: QtMqtt/qmqttglobal.h: No such file or directory

2、在使用arm-hisiv300-linux-gcc交叉编译qt5 ,qmake安装目录的include中创建QtMqtt文件夹

sudo mkdir QtMqtt

3、把源码中的.h头文件拷贝到文件夹中

sudo cp /home/macian/Project/mqtt/qtmqtt-5.12.7/src/mqtt/*.h QtMqtt/

4、ls查看拷贝结果如下

如果使用版本不一致,可能由于版本过高,或者与ubuntu版本不兼容原因可能会出现以下错误。

  • 错误一:
    重新构建,仍然报错缺少 QtMqtt/QMqttClient等头文件,将报错的工程头文件替换
  • 解决方法:
将
#include <QtMqtt/QMqttClient>
改成
#include <QtMqtt/qmqttclient.h>

将
#include <QtMqtt/QMqttSubscription>
改成
#include <QtMqtt/qmqttsubscription.h>

将
#include <QMqttTopicName>
改成
#include <QtMqtt/qmqtttopicname.h>

将
#include <QtMqtt/QMqttMessage>
改成
#include <QtMqtt/qmqttmessage.h>

错误参考链接---树莓派上用QT搭建MQTT环境教程_51CTO博客_树莓派mqtt

编译后工程搭建参考---MQTT设计与实现_mqtt实现-CSDN博客

文章来源:https://blog.csdn.net/qq_33301482/article/details/134945107
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。