“libQt5Mqtt.so: file not recognized: file format not recognized”问题解决

        导入 libQt5Mqtt.so 文件的作用是让你的 Qt 项目能够链接和使用 Qt MQTT 库中的函数和类。

        若想使用mqtt模块,需要先确认自己的QT版本是否升级到5.12或者更高级的版本(虽然有更早的版本,但是5.12及以上的版本兼容性和稳定性更强),然后下载qt官方在GitHub上提供的关于mqtt的源代码:https://github.com/qt/qtmqtt

引用mqtt模块

        可以通过dev选择适合自己qt软件版本的源代码

               

如果用的时linux系统也可以通过指令下载,比如我要下载的版本是5.12.9。

git clone --branch 5.12.9 https://github.com/qt/qtmqtt.git

        通过qt软件打开mqtt模块的源代码,并构建。

        打开构建后生成的文件并将其中的lib文件复制到自己需要用到mqtt模块的项目中

         在qt文件中将mqtt的lib库导入

         完成操作之后可以在.pro文件中看到已经成功导入了关于mqtt的lib文件

发现问题

        但是在构建我自己的项目时发现“libQt5Mqtt.so 格式错误”

        后面发现是因为构建项目的时候我想构建生成ARM版本的文件,但我导入的.so文件却是X86_64版本的,可以在刚刚的lib文件里检查.so文件版本。

file libQt5Mqtt.so.5.12.9

 

解决方法

在刚刚的步骤中构建mqtt文件时选择使用于arm版本的构建套件,然后点击构建,将生成的lib文件代替刚刚导入进去的lib文件。

检查导入的.so文件版本显示为arm版本。

 这样困难就解决了,然后重复以上的步骤就可以成功构建想要运行在arm架构中的嵌入式板子中的文件了。

         

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值