Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题
问题描述
安装Qt5.15.0后,在运行测试用例时弹出错误:
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)
根据问题描述,虽然能够找到但是不能加载Qt平台插件“xcb”,虽然接下来又说重新安装可能能够解决,这个可能的话,还是尽量作为最下的选择吧。
定位问题
修改配置文件~/.bashrc:
$ vim ~/.bashrc
在最末尾添加如下语句,会在qtcreator启动时,列出详细的错误提示。
export QT_DEBUG_PLUGINS=1
如下:
保存退出编辑,使配置文件生效:
$ source ~/.bashrc
启动qtcreator会弹出如下详细错误信息:
在打印的错误信息的最下面,找到了引发错误的真正原因:
也就是Qt动态链接库的问题,当加载libqxcb.so库的时候,还需要加载libxcb-xinerama库。 切换到报错libxcb.so所在目录:
#替换为自己的报错目录
$ cd /home/brainiac/Qt/Tools/QtCreator/lib/Qt/plugins/platforms/
运行ldd libqxcb.so,查看关联内容:
$ ldd libqxcb.so
发现不存在libxcb-xinerama.so.0库。
解决方法
安装libxcb-xinerama库:
#如果还存在其他依赖库没有安装,也一并安装。
$ sudo apt-get install libxcb-xinerama0
安装完成后,再次查看关联内容,发现已经修复问题:
$ ldd libqxcb.so
再次运行qt程序,就可以正常运行了。
后记
又可以愉快的coding了。
- 并行爬虫和数据清洗工具(开源)
- 响应式web布局中iframe的自适应
- 简单易学的机器学习算法——协同过滤推荐算法(2)
- 详解ROC/AUC计算过程
- 汉字数组排序及如何检测汉字
- 简单易学的机器学习算法——主成分分析(PCA)
- 基于Xgboost + LR + Keras 建模评估用户信用状态
- canvas实现拖动页面时显示窗口视频
- 鼠标滚轮事件介绍
- Understanding delete
- objC与js通信实现--WebViewJavascriptBridge
- 简单易学的机器学习算法——岭回归(Ridge Regression)
- QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400 万条数据)
- 文本分类实战: 机器学习vs深度学习算法对比(附代码)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Yii2.0框架实现带分页的多条件搜索功能示例
- 定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
- PHP APP微信提现接口代码
- thinkPHP5.1框架路由::get、post请求简单用法示例
- Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
- Python爬虫实例——scrapy框架爬取拉勾网招聘信息
- php实现微信企业转账功能
- Laravel框架模型的创建及模型对数据操作示例
- Python环境管理virtualenv&virtualenvwrapper的配置详解
- Matplotlib自定义坐标轴刻度的实现示例
- Python基于time模块表示时间常用方法
- ITK 实现多张图像转成单个nii.gz或mha文件案例
- 一文轻松掌握python语言命名规范规则
- php原生数据库分页的代码实例
- python对一个数向上取整的实例方法