【交叉编译】打脸调试QT5.9.0 错误:QT:could not find or load the Qt platform plugin “linuxfb“

在移植Qt5.9.0和tslib到usr文件夹后,遇到qt平台插件找不到的问题。尝试修改环境变量未果,通过交叉测试发现是tslib版本不匹配导致。升级tslib至1.0.0解决了问题,强调在通用方法无效时应考虑版本兼容性和交叉测试。
摘要由CSDN通过智能技术生成

项目场景:

某装置主控制板。qt要求版本5.9.0以上,支持触摸功能。qt应用库,tslib也必须单独安装在usr文件夹底下。替代原来的qt4.8.6版本。


问题描述

当单独编译完qt5.9.0和 tslib,将文件打包到usr下后。运行程序发现以下bug:
在这里插入图片描述

原因分析:

本以为这个问题很常见,搜搜论坛帖子就能解决我这个问题。可现实结果狠狠地把脸打肿。

1.查找关键字 load the Qt platform plugin "linuxfb“ 后参阅帖子

参考经验一:QT:could not find or load the Qt platform plugin “linuxfb”

参考经验二:嵌入式Qt5报错:qt.qpa.plugin: Could not find the Qt platform plugin “linuxfb“# 解决方案

上述两个帖子都是说明没有指定环境变量。按照上述帖子修改环境变量。将环境变量修改为

在这里插入图片描述

  1. 查找对应的库文件是否存在,发现库文件及路径完全正确。
    参考经验三:
    嵌入式Qt5报错:qt.qpa.plugin: Could not find the Qt platform plugin “linuxfb“

结果还是被打脸了
在这里插入图片描述

  1. 经过几次无头绪的打脸只能求助zy技术支持。讨论后只能采用交叉替换的方法定位问题。用QT4.8.6替换编译出来的库文件发现是可以用的,而高版本则无法应用。利用strace追踪一下 qt5.9.0写的实例应用。发现如下问题:
    在这里插入图片描述
    虽然这块没有明确定位该问题。尝试往系统兼容性问题考虑。

  2. 再查看buildroot 制作带qt5.9.0 tslib的文件系统。发现 对应的tslib版本为1.0.0,而自身移植的tslib版本为0.9.0

  3. 将移植tslib 1.0.0至对应的文件地址, 问题终于解决。

总结:

移植文件系统时如果遇到“通用问题“”,并采用通用方法结果没有解决时,应考虑交叉测试(找以前能用的版本更换文件系统,内核等缩小问题范围)。实在没有解决思路时可借助现有文件系统生成工具查看版本对应关系,优先考虑插件之间的兼容性!

嵌入式Linux中,如果出现错误提示"qt.qpa.plugin: Could not find the Qt platform plugin 'eglfs' in ''",这通常是由于缺少Qt平台插件引起的。Qt平台插件是用于提供特定平台的窗口系统和输入设备支持的模块。 解决这个问题的一种方法是重新安装应用程序,因为有时候Qt平台插件可能会丢失或损坏。另外,还可以检查是否正确设置了LD_LIBRARY_PATH环境变量,该变量指示应用程序在运行时应该搜索的库路径。 另外,如果你使用的是Qt5,你可以尝试在应用程序的启动命令中添加一个-platform参数,并设置为eglfs。这将强制Qt使用eglfs平台插件。 需要注意的是,确保你的系统上已经安装了eglfs平台插件,并且路径正确配置。如果仍然无法找到eglfs插件,那可能是因为你的Qt版本不支持该平台插件,或者该插件未正确安装。 综上所述,如果在嵌入式Linux中出现"qt.qpa.plugin: Could not find the Qt platform plugin 'eglfs' in ''"的错误提示,你可以尝试重新安装应用程序、检查LD_LIBRARY_PATH环境变量的设置,并确保正确配置了eglfs平台插件的路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【交叉编译打脸调试QT5.9.0 错误QT:could not find or load the Qt platform pluginlinuxfb](https://blog.csdn.net/neillan/article/details/131011870)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [嵌入式Qt5报错:qt.qpa.plugin: Could not find the Qt platform pluginlinuxfb](https://blog.csdn.net/A_P_R_I_L/article/details/127798678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值