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

embedded/2024/11/17 19:26:28/

Qt platform plugin 是 Qt 应用程序启动时加载的插件。不同的平台有不同的插件。
常见的插件有:linuxfb Wayland xcb 简单来说就是启动一个GUI程序, 离不开这些插件.选择其中一个就好

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

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

1. 开启QT_DEBUG_PLUGINS宏

在终端中输入

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

在这里插入图片描述

2. 错误场景

2.1 插件选择错误

在这里插入图片描述

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

2.1.1 更换插件

更换插件有两种方式:

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

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

./appRPIUI -platform eglfs
  • 2.通过环境变量
    • 这种方式适合永久生效
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即可,这个比较好排查.如果有插件一定是上面两种情况引起的


http://www.ppmy.cn/embedded/138080.html

相关文章

《配电网高质量发展行动实施方案(2024~2027年)》发布,智能巡检机器人助力新型电力系统建设

8月,国家能源局印发《配电网高质量发展行动实施方案(2024~2027年)》(以下简称《方案》),深入推进配电网高质量发展重点任务落地见效。《方案》明确提出,要重点推进建设一批满足新型主体接入的项…

如何在JavaScript中实现保留两位小数

在JavaScript中,处理数字并格式化它们以显示特定的小数位数是一个常见的需求。特别是,当你需要显示货币、测量值或其他需要精确到两位小数的数据时,这一点尤为重要。本文将详细介绍几种在JavaScript中实现保留两位小数的方法。 1. 使用 toFi…

【代码大模型】Is Your Code Generated by ChatGPT Really Correct?论文阅读

Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generation key word: evaluation framework, LLM-synthesized code, benchmark 论文:https://arxiv.org/pdf/2305.01210.pdf 代码:https:…

灵神DAY3 KMP算法

具体解释: 1. 真前缀和真后缀的定义 前缀:字符串的起始部分。例如,字符串 s "aabcaa" 的前缀是 ""、"a"、"aa"、"aab"、"aabc"、"aabca"、"aabcaa"。 …

「Qt Widget中文示例指南」如何创建一个窗口标志?(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 窗口标志要么是类型…

监控JVM的内存使用情况分析

监控JVM的内存使用情况对于确保应用性能和稳定性至关重要。以下是一些常用的方法和工具来监控JVM的内存使用情况: 1. JVM内置工具 jcmd jcmd是一个多功能的诊断命令行工具,可以用来监控和管理系统进程和核心Java虚拟机。使用jcmd可以获取堆内存和非堆…

封装map、set

红黑树中&#xff0c;封装map还是set是根据第二个节点参数决定的。 也就是说&#xff1a;树第一个参数是key&#xff0c;而第二个参数如果是set 就是 key&#xff0c;如果是map&#xff0c;则是pair。 RBTree.h#pragma once#include <iostream> using namespace std; #…

C#入门 020 事件(类型成员)

初步了解事件 定义:单词Event&#xff0c;译为“事件” 《牛津词典》中的解释是“a thing that happens, especially something important通顺的解释就是“能够发生的什么事情” 角色:使对象或类具备通知能力的成员 事件(event)是一种使对象或类能够提供通知的成员对象O拥有…