[Qt platform plugin问题] Could not load the Qt platform plugin “xcb“

Qt platform plugin 是 Qt 应用程序启动时加载的插件。不同的平台有不同的插件。

常见的插件有:linuxfb Wayland xcb 简单来说就是启动一个GUI程序, 离不开这些插件.选择其中一个就好

出现这个问题要么就是没有插件,要么就是插件依赖的库没有。 要么就是插件选则的有问题 任何一个插件都是如此

这里以xcb插件为例.一步一步排查错误

1. 开启QT_DEBUG_PLUGINS宏

在终端中输入

bash 复制代码
export QT_DEBUG_PLUGINS=1
  • 打开插件的调试信息.然后执行你的程序,会输出详细的错误信息.进一步排查
  • 这个环境变量是一次性的,退出终端后就失效了,不会影响其他的.

2. 错误场景

2.1 插件选择错误

  • 这种就是插件选择错误的 在远程会话或图形界面设置不足的情况下,无法正确连接到显示服务器
  • 我这里的场景是通过ssh连接开发板 图像无法回传到本机 板子已经连接显示器了
  • 解决这问题很简单 换个插件就行了
  • 更换完插件还有问题继续看2.2 小节

2.1.1 更换插件

更换插件有两种方式:

  • 1.通过命令含参数
    • 这种方式适合调试排错
bash 复制代码
[可执行程序] -platform [插件名]

比如我这里使用eglfs替换xcb插件

bash 复制代码
./appRPIUI -platform eglfs
  • 2.通过环境变量
    • 这种方式适合永久生效
bash 复制代码
export QT_QPA_PLATFORM=eglfs

将这个环境变量添加到~/.bashrc文件中

然后执行source ~/.bashrc刷新环境变量

这样在后续启动程序时就不用添加参数了

2.2 插件缺少库

同样的 打开QT_DEBUG_PLUGINS宏

这种就是插件依赖的库没有安装.

安装对应的依赖即可.

复制代码
sudo apt-get install libinput10

缺什么安装什么,这个找GPT就可能缺的可能很多

2.3 插件没安装

这个插件在Qt的安装路径plugins/platforms这个路径下.里面有需要的各种插件.

如果这个没有重新安装Qt即可,这个比较好排查.如果有插件一定是上面两种情况引起的

相关推荐
醇氧5 小时前
CentOS7.9 Yum 安装 Redis6.x(RPM 包,无需编译,推荐 remi 源)
linux·python
沫璃染墨5 小时前
《Qt从零入门系列(十一):Qt事件机制详解——从QEvent到鼠标、键盘与定时器事件》
c++·qt·ui·硬件工程·交互·个人开发·qt5
傲世仙尊5 小时前
重写的顿悟-lambda类型擦除条件变量的真相与sendto里的bind
linux·网络
zhangrelay5 小时前
ROS2 Lyrical实验5导航Nav2
linux·笔记·学习·ubuntu·机器人
实心儿儿5 小时前
Qt — Qt 窗口
开发语言·qt
一条破秋裤6 小时前
Linux 线程分离与主动取消:pthread_detach、pthread_cancel
java·linux·jvm
j7~6 小时前
【Linux网络】四十六.《高级 IO (上篇)》-- 详解
linux·运维·网络
IT大白鼠6 小时前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 0 篇 · 导读:把 Linux 运维交给 AI,到底靠谱吗
linux·运维·人工智能
AI智讯中枢6 小时前
高性能 C++ 实战 (五):perf+FlameGraph 火焰图生产实战,精准定位 CPU / 缓存 / 锁瓶颈,避坑 + 完整实操案例
linux·c++·性能调优·性能分析·perf·flamegraph·火焰图
xbzb7 小时前
Linux SELinux 安全加固与标签排错手册
linux·运维·安全