Ubuntu18.04未安装Qt报qt.qpa.plugin could not load the Qt platform plugin xcb问题的解决方法

      在Ubuntu 18.04开发机上安装了Qt 5.14.2,当将其可执行程序拷贝到另一台未安装Qt的Ubuntu 18.04上报错:拷贝可执行程序前,使用ldd将此执行程序依赖的动态库也一起拷贝过去,包括Qt5.14.2/5.14.2/gcc_64/plugins目录系的platforms目录
      在未安装Qt的Ubuntu 18.04上通过LD_LIBRARY_PATH=lib的方式执行可执行程序,lib目录包括了所有的依赖动态库:
      1.执行结果如下图所示:

      qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found: 与可执行文件同目录下有platforms目录,此目录下有libqxcb.so
      2.将lib下的libQt5Core动态库移除后,再次执行,结果如下图所示:

      虽然机子上未安装Qt,但系统本身有一些Qt库,在Ubuntu 18.04上,/usr/lib/x86_64-linux-gnu目录下存放着一些Qt 5.9.5版本的动态库
      lib目录下有libQt5Core就会报"xcb"插件问题;没有此库,就会报找不到Qt 5.14的Qt5Core库
      原因:执行ldd时,可执行文件所依赖的动态库并没有完全覆盖到platforms/libqxcb.so。对platforms/libqxcb.so执行ldd时,发现它还会依赖其它一些Qt库,需要将这些库全部存放到lib目录下,包括:Qt5DBus, Qt5XcbQpa, Qt5Gui, Qt5Core即可,也许还包括其它。
      或者最粗暴的方式,直接将Qt5.14.2/5.14.2/gcc_64/lib目录下的所有动态库全部拷贝到另外机子的lib目录下。

      GitHub:https://github.com/fengbingchun/Qt_Test

你可能感兴趣的:(Qt,Qt)