在虚拟机上Linux系统中编译的Qt程序打包依赖项,放到另一台主机上运行该Qt程序,报错Could not load the Qt platform plugin "xcb" in "" even though it was found.
执行export QT_DEBUG_PLUGINS=1,开启Qt调试信息,再次运行,查看打印信息,发现Qt依赖库libQt5Widget.so找不到Qt5.12的版本。
分析原因:虚拟机上编译时的Qt版本为Qt5.15,且已经将其所有依赖库都进行了打包,但是目标主机上也安装了Qt,版本为Qt5.12,且其库路径添加到了环境变量中,导致两个版本冲突。
解决方法:尝试将目标主机上的/usr/lib64/下的qt5文件夹(即qt库的路径,不同系统路径有可能不同)剪切(删除)出去,再次运行问题解决。