qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ in ““ 详细解决办法
qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ in ““ 详细解决办法
定位问题
可以先在终端运行export QT_DEBUG_PLUGINS=1,再打开刚才报错的程序,可以看到相应的报错点,
如果是如标题Could not found the Qt platform plugin “Xcb”in“”,则是不存在,或者说查找的目录不存在libxcb.so,对应第一种情况,没有xcb。
如果是Could not found or load the Qt platform plugin “xcb”,那么问题可能是存在xcb,但是依赖库出现问题
解决办法
情况一:could not found
有两种可能,
1、如果你电脑上的qt是自己源码编译的
那么也有两种可能:
1、有可能是环境变量没有配置好,这个自行百度如何配置,这种情况一般不光xcb,而是一个plugins也找不到。
2、可能是在编译的时候就没有输出qxcb,这种一般是在相应的文件夹下根本没有libxcb.so这个文件。这时候比较麻烦,需要安装sudo apt install xcb后重新编译qt,如果对qt的版本没有固定要求的话也可以使用sudo apt install qtcreator build-essential 来安装一个qt,这个qt版本可能稍微老一点,安装完后记得把之前自己设置的关于自己编译的qt的环境变量和libconf全部注释掉,主要是~/.bashrc里面的LD_LIBRARY_PATH和/etc/ld.conf.so.d里面的配置。在这完成之后重新打开终端,不重新打开终端source .bashrc理论上也可以。
sudo apt install qtcreator build-essential
2、如果你的qt是用sudo apt安装的
那么大概率就只是xcb没有装,sudo apt install xcb就行了
sudo apt install xcb
情况二 could not load
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Aborted (core dumped)
这种情况一般是xcb的依赖库有问题了
ldd path/libxcb.so | grep 'not found'
# ldd 后面的是你libxcb.so的目录,该命令的意思是列出libxcb的依赖库,然后查找出not found的库
找出来是哪些库以后安装这些相应的库就行,一般库名都是去掉前面的lib和后面的.so,如果不是自己百度一下文件名
基本涵盖了出现这个error的几种情况,如果试过了还是无效,那另请高明吧哈哈哈哈
更多推荐
所有评论(0)