- 个人主页:风间琉璃
- 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主
- 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
目录
一、 Linux 环境下编译安装
二、 ARM Linux 环境下安装
Linux 版本: UBuntu 18.04 LTS
QT 版本: 5.12.9
MQTT 版本: 5.12.9
1.下载 MQTT
打开 https://github.com/qt/qtmqtt 选择与 QT 对应的 MQTT 版本(使用的是 5.12.9),下载源码压缩包,如图 1 所示
2.将解压缩后的文件拷贝到 UBuntu 工程目录内
3.在刚解压的目录内新建一个 bulid 文件夹,进入该文件夹,mkdir build && cd build
4.拷贝头文件
将源码解压目录下 src/mqtt 内所有的头文件,复制到 QT 安装目录下gcc_64/include/QtMqtt 内
5.编译并安装 MQTT
5.1指定 QT 安装目录
QT_INSTALL_DIR=/home/..../Qt5.12.9/5.12.9(Qt的安装目录)
5.2指定 qmake 目录
QT_QMAKE_DIR=$QT_INSTALL_DIR/gcc_64/bin/
5.3编译工程
$QT_QMAKE_DIR/qmake -r .. (注意有两个点)
make
sudo make install
6.进入 QT 安装目录下 gcc_64/include/QtMqtt
新建文件 QMqttClient,打开文件添加#include "qmqttclient.h"
新建文件 QMqttSubscription,打开文件添加#include “qmqttsubscription.h”
新建文件 QMqttMessage,打开文件添加#include "qmqttmessage.h"
新建文件 QMqttTopicName,打开文件添加#include " qmqtttopicname.h"
7.运行示例程序
运行 QT,打开源码下的 examples 工程,运行该工程。
GCC 版本: 4.9.3
交叉编译工具: gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf
Qmake 版本: 3.1
QT 版本: 5.12.9
在 ARM Linux 下对 MQTT 进行编译,首先需要有交叉编译工具(交叉编译工具最好和所使用的 Linux 内核编译版本、 QT arm 的编译版本一致)
1.解压缩交叉编译工具到相应目录下
2.使用 tar 命令进行解压
3.修改/etc/profile 文件,添加交叉编译工具路径
4.使用 source /etc/profile 使刚才的改动生效
5.使用 arm-linux-gnueabihf-gcc -v 查看是否生效。(若是已经有交叉编译环境可以直接跳过前5步)
6.对 QT 源码进行编译(QT 库裁剪),得到对应的库文件等(若原来已经有Qt的交叉编译库,可以不用操作Qt的交叉编译)
7.在解压的目录内新建一个目录 build-arm 并进入该目录
8.QT_QMAKE_AND_DIR=/opt/Qt5/compiled/Qt5.12.9_arm/bin
此目录是 qmake 所在的目录,我把 Qt 源码编译后的文件放在/opt/Qt5/compiled/Qt5.12.9_arm 内
9.将 mqtt 解压缩后的头文件,放入到 Qt 交叉编译目录的 include 文件夹内和上面第 6 条添操作一样,QtMqtt添加如下内容:
新建文件 QMqttClient,打开文件添加#include "qmqttclient.h"
新建文件 QMqttSubscription,打开文件添加#include “qmqttsubscription.h”
新建文件 QMqttMessage,打开文件添加#include "qmqttmessage.h"
新建文件 QMqttTopicName,打开文件添加#include " qmqtttopicname.h"
10.和上面一样编译、安装mqtt
$QT_QMAKE_AND_DIR/qmake -r ..
make
sudo make install
11.将编译后的库文件拷贝到 Arm linux 目标板中对应的 Qt 库文件夹内
libQt5Mqtt.la
libQt5Mqtt.prl
libQt5Mqtt.so
libQt5Mqtt.so.5
libQt5Mqtt.so.5.12
libQt5Mqtt.so.5.12.9
12.运行 Qt,打开源文件夹下的 examples 工程,使用 arm 编译该工程,将生成的文件拷贝到 Arm linux 板中运行。
安装步骤参考:
http://www.diy.ind.in/linux/31-install-mqtt-module-in-qt
结束语
感谢你观看我的文章呐~本次航班到这里就结束啦
希望本篇文章有对你带来帮助 ,有学习到一点知识~
躲起来的星星也在努力发光,你也要努力加油(让我们一起努力叭)。
最后,博主要一下你们的三连呀(点赞、评论、收藏),不要钱的还是可以搞一搞的嘛~
不知道评论啥的,即使扣个666也是对博主的鼓舞吖 感谢