ubuntu使用MQTT,并将官方QMQTT编译成模块在项目中使用
一、文件准备工作
1.Qt:5.12.9版本
2.文件2:qtmqtt-dev.zip(qt官方例子)
网址:
https://github.com/qt/qtmqtt
成功进入网站后点击下载即可
3.文件1:qtmqtt-5.12.9.zip(qt官方mqtt模块源码)
网址
https://github.com/qt/qtmqtt
在上一步的基础上选择对应qt版本下载即可
二、依赖准备工作
sudo apt update && \
sudo apt upgrade -y && \
sudo apt install -y build-essential python
sudo apt install -y gperf \
bison \
flex \
llvm \
libxcb* \
libxslt1-dev \
ruby \
libssl-dev \
libcap-dev \
libxtst-dev \
libpci-dev \
libnss3-dev \
libclang-6.0-dev
三、编译准备工作
1.解压第一步下载的文件
2.文件拷贝
将"你的路径/qtmqtt-5.12.9/src/mqtt"中的头文件全部拷贝进Qt安装目录中新建的目录,如我的路径"/opt/Qt5.12.9/5.12.9/gcc_64/include/QtMqtt",其中QtMqtt是自己建立的目录.
四、编译
1.打开项目
使用Qt打开"qtmqtt-5.12.9"项目,设置为Release模式
2.构建
构建、编译、运行项目,得到以下文件夹
(1)bin
(1)examples
(1)include
(1)lib
(1)mkspecs
(1)src
(1)tests
五、配置
1.lib
(1)
将"lib"目录中的libQt5Mqtt.la、libQt5Mqtt.prl、libQt5Mqtt.so、libQt5Mqtt.so.5、libQt5Mqtt.so.5.12、libQt5Mqtt.so.5.12.9、libQt5Mqtt.so.5.12.9.debug文件拷贝到"/opt/Qt5.12.9/5.12.9/gcc_64/lib"
(2)
将"lib/cmake"目录中的"Qt5Mqtt"目录拷贝到"/opt/Qt5.12.9/5.12.9/gcc_64/lib/cmake"中
(3)
将"lib/pkgconfig"目录中的"Qt5Mqtt.pc"文件拷贝到"/opt/Qt5.12.9/5.12.9/gcc_64/lib/pkgconfig"中
2.mkspecs
(1)
将"mkspecs/modules-inst"目录中的"qt_lib_mqtt.pri"、“qt_lib_mqtt_private.pri"文件拷贝到”/opt/Qt5.12.9/5.12.9/gcc_64/mkspecs/modules"中
六、测试
1.打开"qtmqtt-dev/examples/mqtt/subscriptions"项目
2.做如下修改
QtMqtt/QMqttClient替换为QtMqtt/qmqttclient.h
QtMqtt/QMqttMessage替换为QtMqtt/qmqttmessage.h
QtMqtt/QMqttSubscription替换为QtMqtt/qmqttsubscription.h
删除using namespace Qt::StringLiterals;
删除u"…“_s字符串中的"u"和”_s"
删除"…“_L1字符串中的”_L1"
ubuntu使用MQTT,并将官方QMQTT编译成模块在项目中使用-完成