当我在qt项目中输入"QT += mqtt"时并且选择构建kits为X86_64版本时显示无法找到mqtt模块

        但是当我将构建kits改为arm版本之后却能正常构建。

        后面发现发生这种情况的原因可能是缺少 x86_64 架构下的 MQTT 模块,并且添加了arm架构的MQTT模块,通过检查"~/.bashrc"文件可以印证。

        其中只设置了arm环境下的QT环境变量。并且在arm Qt的路径中可以找到mqtt模块的目录。

         而在X86_64 Qt的安装路径中找不到mqtt模块的目录,说明需要在X86_64 Qt中安装mqtt模块。

编译和安装 MQTT 模块

        首先确保在 x86_64 架构下正确编译和安装了 MQTT 模块。

cd ~/Qt5.12.9/5.12.9/gcc_64/include //通过终端指令进入到X86_64 Qt的include目录中
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999//可以通过增加 git 的超时时间来避免下载超时:
git clone https://code.qt.io/qt/qtmqtt.git//从 Qt 的官方 Git 仓库中克隆 qtmqtt 模块的源码:
cd qtmqtt
git checkout 5.12//检查并切换到与您的 Qt 版本匹配的分支,例如 5.12:
/~/Qt5.12.9/5.12.9/gcc_64/bin/qmake//使用 qmake 和 make 编译 QtMqtt 模块:
make
make install

         安装成功之后便可以在X86_64 Qt的路径中找到mqtt模块的目录

设置环境变量 

        确保在 x86_64 环境下正确设置了 Qt 环境变量:找到在linux系统中下载的关于X86_64架构的qt版本

export PATH=/home/vrikii/Qt5.12.9/5.12.9/gcc_64/bin:$PATH
export PATH=/usr/bin:$PATH
export LD_LIBRARY_PATH=/home/vrikii/Qt5.12.9/5.12.9/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/vrikii/Qt5.12.9/5.12.9/gcc_64/plugins:$QT_PLUGIN_PATH

使更改生效

source ~/.bashrc

        生效之后便可成功导入mqtt模块。

 验证

        在项目中添加 QtMqtt 模块:编辑您的项目 .pro 文件,添加 QT += mqtt

QT += core gui mqtt

         创建一个简单的项目,确保能够成功编译并运行使用 QMqttClient 的代码。如果没有显示找不到该文件的路径,便表示导入mqtt模块成功。

        

         

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐