当前位置: 首页 > news >正文

OpenMV引出的QT排错 - EM

参考:https://blog.csdn.net/LOVEmy134611/article/details/107212845

今天在 Ubuntu 上更新了 OpenMV IDE 后,突然发现软件打不开了;

Linux 用久了,第一个反应自然是:用终端启动看看错误信息

在终端中进入 OpenMV 安装目录,执行启动脚本:

./openmvide.sh

果不其然,终端中输出了一堆报错信息,看起来像是 Qt 插件加载失败的问题:

看起来像是QT的问题,那就进一步查看更详细的信息吧;

开启 Qt 插件调试模式

为了获取更详细的错误信息,我们可以设置环境变量来启用 Qt 插件的调试输出:

export QT_DEBUG_PLUGINS=1
./openmvide.sh

再次运行后,输出了类似这样的提示信息:

这里明确指出:Qt 无法加载 libqxcb.so 插件,是因为它依赖的某些库找不到;

检查插件依赖库

我们前往提示中指向的路径,查看该插件(libqxcb.so)所依赖的共享库:

cd /home/time/Doc/1software/openmvide/lib/Qt/plugins/platforms/
ldd libqxcb.so

能看到下面这样的结果:

可以看到,某些共享库(如 libxcb-xxx.so)提示为 not found,说明这些库在系统中尚未安装;

安装缺失依赖

这一步其实就是“缺啥补啥”;

对于大多数 Qt XCB 相关插件问题,可以尝试安装如下依赖包:

sudo apt install libxcb-xinerama0

如果还有其他依赖缺失,终端里也会继续提示,然后我们继续安装即可,比如:

sudo apt install libxkbcommon-x11-0
sudo apt install libxcb-icccm4
sudo apt install libxcb-image0

总之,看报错、查缺失、逐个安装,直到所有 ldd 输出的依赖都变成 => /usr/lib/... 而非 not found 为止

再次启动软件

重新运行 OpenMV IDE:

./openmvide.sh

此时应该能够正常打开了;

总结

Qt 程序在 Linux 上偶尔会遇到因为环境或依赖缺失导致的启动问题,尤其是那些 不使用系统 Qt、而是自己打包了一份 Qt 的软件;这类问题可以通过:

  • 终端运行,查看错误信息;
  • 启用 QT_DEBUG_PLUGINS=1 环境变量,获取详细调试日志;
  • ldd 检查缺失的动态链接库;
  • apt install 安装对应依赖;

来一步步定位并解决;

虽然过程有点繁琐,但也算是一次熟悉 Qt 插件系统和 Linux 动态链接机制的好机会;

阅读原文:OpenMV引出的QT排错

http://www.jsqmd.com/news/752205/

相关文章:

  • Translumo:3步掌握免费实时屏幕翻译,彻底打破语言障碍
  • Faster R-CNN里的RPN网络到底在干嘛?用PyTorch手写一个锚框生成与匹配Demo就懂了
  • 从AlexNet到你的项目:CNN中Flatten层和BatchNorm层的实战避坑指南
  • 对比直接采购我们通过聚合平台节省了多少模型调用成本
  • 面向复杂医疗场景的多模态具身智能体协同决策与可解释性研究--博士研究计划书
  • 告别‘ModuleNotFoundError: openai.error’:一份针对ChatGPT微信机器人等开源项目的通用修复指南
  • 如何精准定位CPU超频稳定性问题:CoreCycler完整指南
  • 基于MCP协议构建AI与Dropbox文件管理的自动化桥梁
  • GitHub Pages静态网站搭建:从Jekyll/Hugo选型到自动化部署全攻略
  • Arch Linux下NVIDIA驱动安装后黑屏?手把手教你排查和修复sddm/Xorg配置冲突
  • 5分钟掌握Vulkan GPU显存测试:memtest_vulkan终极指南
  • 腾讯云HAI新手上路:5分钟搞定Stable Diffusion WebUI,零代码画出你的第一张AI图
  • 从DETR到CMT:手把手拆解那个把3D坐标‘藏’进特征里的跨模态Transformer
  • 在自动化客服场景中利用Taotoken实现多模型备援与成本优化
  • 苏州来财物资回收:专业的苏州吨桶回收厂家 - LYL仔仔
  • 超越手势识别:用ESP32 CSI数据玩点新花样,从信道诊断到网络优化
  • NewTab-Redirect:3个实用技巧让您的新标签页焕然一新
  • Linux向Wine应用传递快捷键 - EM
  • 不止是扩容:在麒麟KYLINOS V10 SP1上玩转LVM,实现系统盘与数据盘的灵活分配与管理
  • 别再只点‘下一步’了!Ubuntu Server 22.04.4安装时这6个配置项,直接影响你后续开发效率
  • Windows 10 更新失败报错 0x80070005 权限不足如何修复?
  • 哈尔滨市道里区胜广建材:哈尔滨沙子出售厂家 - LYL仔仔
  • 解锁游戏本终极性能:OmenSuperHub 3分钟快速上手指南
  • 从LIO-SAM点云到3D Octomap:手把手教你生成并可视化三维八叉树地图(.bt文件)
  • Linux编辑器--vim使用
  • 2026年南宁GEO优化公司推荐Top3:从产业适配到效果落地深度测评 - 商业小白条
  • KMS智能激活工具:Windows和Office永久激活的完整解决方案
  • AlwaysOnTop终极指南:如何让任意窗口永久置顶,告别频繁切换的烦恼
  • 从一次ECU‘变砖’说起:深入理解UDS 3D服务(WriteMemoryByAddress)的安全边界与NRC处理
  • 新手友好:用快马AI快速上手contextmenumanager库实战