开头直接给出解决方法:
1.设置环境变量
export QT_QPA_PLATFORM_PLUGIN_PATH=/opt/qt-5.15.2/plugins/platforms
2.在 qtcreator 安装目录的 bin 目录中,用管理员权限打开 qtcreator
./qtcreator
注意:不要在桌面用双击方式启动
3.然后就可以正常运行项目了
问题背景
1.环境
银河麒麟 V10 SP3,qt-5.15.2,qtcreator-4.15.2
2.问题描述
有一个 qt 项目,在其他电脑上能正常运行,放到麒麟系统上就运行不了,报错:
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""This application failed to start because no Qt platform plugin could be initializer. Reinstalling the application may fix this problem.
解决过程
走的弯路:
基本上尝试了网上搜索到的各种方式,无非就这么几种。
1.运行目录下添加 platforms 文件夹,文件夹里放上 libqxcb.so。
2.指定环境变量,export QT_DEBUG_PLUGINS=1,然后运行项目,看提示信息哪里有问题。一般是缺少依赖。然后安装缺少的依赖。
3.在 /opt/qt-5.15.2/plugins/platforms 目录下,输入 ldd libqxcb.so,查看 libqxcb.so 的依赖是否缺少,缺失则安装缺少的依赖。
最终结果就是,方式 1 无效;方式 2 和方式 3 都没发现缺少任何依赖库。
问题的关键:
解决方法就放在开头。
ps:之所以得用命令行方式启动 qtcreator,猜测是银河麒麟操作系统的问题,桌面图标对应的启动命令和命令行方式启动的命令不一致,导致项目运行出错。