“error: Unknown module(s) in QT: mqtt”问题解决

        当我在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模块成功。

        

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值