ubuntu 16.04 Qt error: it could not find or load the Qt platform plugin "xcb"

本文详细介绍了在ROS环境下运行小乌龟示例时遇到的Qt插件加载失败问题及其解决方案。通过设置环境变量指向Qt插件路径,解决了因缺少xcb平台插件导致的应用启动失败。

在安装ROS的时候,安装完后需要测试一下ros,测试成功会显示并控制小乌龟,会用到Qt。具体如下

安装ROS成功后,在终端可以运行一个简单的示例程序.
在Terminal中运行以下命令:
$ roscore
新开一个terminal,运行以下命令,打开小乌龟窗口:
$ rosrun turtlesim turtlesim_node
新开一个terminal,运行以下命令,打开乌龟控制窗口,可使用方向键控制乌龟运动:
$ rosrun turtlesim turtle_teleop_key
选中控制窗口(一定是选中终端),按方向键,可看到小乌龟窗口中乌龟在运动。

但是,打开小乌龟窗口的时候报错:

This application failed to start because it could not find or load the Qt platform plugin “xcb”
Reinstalling the application may fix this problem.
Aborted (core dumped)
如下所示
在这里插入图片描述

首先看看自己电脑 里有没有这个文件
locate libqxcb.so

我电脑是有的,然后开始Google,我试了网上不少方法都不行。

最后解决
1、打开.bashrc 文件
sudo gedit ~/.bashrc

\2、添加环境变量
export QT_PLUGIN_PATH=/home/cxl/Qt5.5.1/5.5/gcc_64/plugins
其中,读者需要根据自己的安装路径修改,我的是
/home/cxl/Qt5.5.1/5.5/gcc_64/plugins

3、最后,刷新生效(很重要!)
source ~/.bashrc

### 解决方案 在 Ubuntu 中遇到 `qt.qpa.plugin: Could not load the Qt platform plugin "xcb"` 的错误通常是由于缺少必要的依赖项或配置不正确引起的。以下是详细的解决方案: #### 1. 安装必要依赖 确保安装了所有必需的库和工具来支持 XCB 插件。可以运行以下命令以安装这些依赖项[^1]: ```bash sudo apt-get update sudo apt-get install libopencv-dev build-essential cmake git pkg-config \ libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev libgtk2.0-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libatlas-base-dev gfortran python2.7-dev python3-dev python-numpy \ libdc1394-22-dev libeigen3-dev libtheora-dev libxvidcore-dev \ libopenexr-dev libgdal-dev libgstreamer-plugins-base1.0-dev \ libqt5webkit5-dev libboost-all-dev libvtk6-dev qtbase5-dev \ qtdeclarative5-dev qtmultimedia5-dev libfaac-dev libmp3lame-dev \ librtmp-dev ffmpeg v4l-utils xvfb xserver-xorg-core-hwe-16.04 \ mesa-common-dev libglu1-mesa-dev freeglut3-dev mesa-utils ``` 上述命令不仅涵盖了 OpenCV 所需的组件,还包含了与 QtXCB 相关的关键包。 --- #### 2. 配置环境变量 如果仍然存在插件加载失败的情况,则可能是路径设置有问题。可以通过修改环境变量解决问题。编辑 `/etc/environment` 文件并添加以下内容: ```plaintext QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/ ``` 或者临时测试效果时,在终端执行如下命令: ```bash export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/ ``` 此操作会指定 Qt 平台插件的位置[^2]。 --- #### 3. 编译自定义版本 (可选) 当默认软件源中的预编译二进制文件无法满足需求时,可以选择重新构建 Qt 库。具体步骤如下: ##### 步骤 A: 下载源码 访问官方站点下载最新稳定版 Qt 源代码压缩包,并解压到本地目录。 ##### 步骤 B: 构建选项调整 进入解压后的根目录后运行配置脚本前加上参数禁用 WebKit 组件(减少复杂度),例如: ```bash ./configure -prefix /opt/QtCustomBuild -nomake examples -nomake tests --no-webkit make && sudo make install ``` 注意:这里通过 `--no-webkit` 参数跳过了可能引发冲突的部分模块。 --- #### 4. 测试修复成果 完成以上任意一种方法之后重启计算机再尝试启动应用程序验证问题是否得到彻底解决。 --- ### 总结 综上所述,“qt.qpa.plugins xcb missing”的根本原因多源于缺失特定开发头文件或是动态链接库定位失误所致;按照前述指导逐一排查即可有效应对该类异常状况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值