RedHat7.5运行qtcreator时出现qt.qpa.plugin: Could not load the Qt platform plugin "xcb

​如何解决 [RedHat7.5运行qtcreator时出现xcb插件问题]​

​1.问题现象​

在 RedHat 7.5 系统中启动 Qt Creator 时,终端输出以下错误:

plaintext 复制代码
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.:

​2.问题原因​

核心原因是 Qt 库版本冲突依赖库加载异常

  • Qt Creator 自带的 xcb 插件(libqxcb.so)依赖特定版本的 Qt 库和系统库(如 libxcb 系列)
  • 系统中存在其他版本的 Qt 库(如 /usr/lib64/ 下的系统默认库),导致插件加载时调用了不兼容的库文件
  • 环境变量未正确配置,插件无法找到自带的依赖库

​3.解决方法:通过启动脚本隔离环境​

1. 创建启动脚本

在 Qt Creator 安装目录的 bin 文件夹下(以 /opt/qtcreator-5.0.3/bin/ 为例)创建 qtcreator.sh

bash 复制代码
# 进入安装目录的 bin 文件夹
cd /opt/qtcreator-5.0.3/bin/

# 创建脚本文件
cat > qtcreator.sh << 'EOF'
#!/bin/bash
# 强制使用 Qt Creator 自带的 Qt 库,避免系统库冲突
export LD_LIBRARY_PATH=/opt/qtcreator-5.0.3/lib/Qt/lib:$LD_LIBRARY_PATH
# 指定插件路径,确保 xcb 插件正确加载
export QT_PLUGIN_PATH=/opt/qtcreator-5.0.3/lib/Qt/plugins
# 启动 Qt Creator 主程序
/opt/qtcreator-5.0.3/bin/qtcreator "$@"
EOF

2. 赋予脚本执行权限

bash 复制代码
chmod +x /opt/qtcreator-5.0.3/bin/qtcreator.sh

3. 通过脚本启动 Qt Creator

bash 复制代码
# 直接运行脚本
/opt/qtcreator-5.0.3/bin/qtcreator.sh

4. (可选)简化启动命令

为了直接输入 qtcreator 即可启动,创建软链接到系统命令目录:

bash 复制代码
sudo ln -s /opt/qtcreator-5.0.3/bin/qtcreator.sh /usr/bin/qtcreator

​4.原理说明​

  • LD_LIBRARY_PATH:强制程序优先加载 Qt Creator 自带的 Qt 库(避免使用系统中不兼容的旧版本库)
  • QT_PLUGIN_PATH:明确指定插件路径,确保 xcb 插件能找到所有依赖组件
  • 脚本隔离了系统环境变量的干扰,确保 Qt Creator 运行在独立、兼容的环境中

​5.补充:若仍报错​

若启动后提示缺失 libxcb-xxx.so 等库,安装系统依赖:

bash 复制代码
sudo yum install -y libxcb libxcb-devel xcb-util libxkbcommon libxkbcommon-x11

之后在终端输入 qtcreator 即可启动。


​版权声明​ ​:本文采用 CC BY-NC-SA 4.0 协议,转载请注明出处。

相关推荐
mumu1307梦6 小时前
html 占位符
前端·javascript·html
WY7 小时前
前端项目部署:Nginx 从入门到实战
前端
Apifox7 小时前
Apifox 9 月更新| AI 生成接口测试用例、在线文档调试能力全面升级、内置更多 HTTP 状态码、支持将目录转换为模块
前端·后端·测试
用户458203153177 小时前
CSS性能优化全攻略:提升页面加载与渲染速度
前端·css
databook7 小时前
Manim实现闪电特效
后端·python·动效
90后的晨仔7 小时前
Vue 组件事件完全指南:子父组件通信的艺术
前端·vue.js
90后的晨仔7 小时前
Vue 组件通信全解
前端
golang学习记7 小时前
从0死磕全栈之Next.js 中的 CSS 方案全解析:Global CSS、CSS Modules、Tailwind CSS 怎么选?
前端
Waker7 小时前
🚀 Turbo 使用指南
前端
我不是混子8 小时前
什么是Java 的 Lambda 表达式?
java·后端