qt5程序发布步骤
----------------------------------------
1. 用ldd找直接依赖.
2. 运行发布程序找全2级依赖,3级依赖等.
编好了qt5程序multiview,发布的时候通过ldd找到程序的依赖库
但是这样在新机器上运行仍然会出问题, 新机器没有qt环境.
QT程序报错:qt.qpa.plugin: Could not find the Qt platform plugin “xcb” in “”
启用qt插件debug模式
export QT_DEBUG_PLUGINS=1
然后再重新启动发布的程序,可以多打印一些信息.
可以看到是因为当前缺少platforms目录的库文件导致。
将开发环境plugin目录下的platforms 也一起发布,问题解决.
/Qt/5.15.0/gcc_64/lib/*
/Qt/5.15.0/gcc_64/plugins/platforms/*
可见,ldd 只是找到了第一级依赖, 至于2级依赖(依赖的依赖),3级依赖并没有显示.
要想使程序运行,必需要实测找全所有依赖库和文件.