再谈qt5程序发布时依赖库问题追踪

程序打包后,发布到新的Ubuntu18,又出现了依赖库的问题。

使用ldd显示的所有依赖库都已经存在了,一切正常,然而一运行就发现qxcb no found,这。。。。难道plugins路径不对?之前在其他环境都布了完全能运行啊,怎么可能plugins会不起效呢?设置一下环境变量/拷贝qxcb库到应用程序路径,还是不起效,所以路径不对也基本可以排除了。

这时,使用qt自带的一个调试插件的宏就起到了至关重要的角色,它能报软件运行时,插件加载的错误。

设置Ubuntu环境变量,添加这行代码

 export QT_DEBUG_PLUGINS=1  

在~/.profile或者/etc/profile都行。

别忘了

source .profile

然后直接运行程序就会打印相关的加载错误信息了,发现qxcb库依赖的libQt5Dbus libQt5Xcb 库加载失败,于是又去之前的编译环境拷贝一下,替换,果然可以了。那问题就很明显了,不是程序找不到qxcb,而是qxcb的依赖库加载失败!!!

吐槽一下qt这个错误提示是真的。。。。恶心。。。定位也太不准了。又想起了windows开发的舒服了。唉

你可能感兴趣的:(QT)