linux下qt不能加载控件,找不到或加载Qt平台插件“xcb”

在Ubuntu16.04上使用Anaconda4.3.17(Python2.7)时遇到Qt版本问题,由于安装了Qt5.6而系统库是5.5。通过设置LD_LIBRARY_PATH可以临时解决,但会导致依赖Qt5.5的其他程序失效。错误信息显示缺少Qt_5.6,而系统中是Qt5.5。解决方法是调整库的加载顺序或寻找兼容的Qt版本。
摘要由CSDN通过智能技术生成

我在Ubuntu16.04和Anaconda4.3.17(Python2.7)上遇到了这个问题。这个问题源于安装了Qt 5.6版本的anaconda,而我的系统Qt库是5.5版本。

一个快速的技巧是通过设置LD_LIBRARY路径来确保Anaconda库位于系统库之前:export LD_LIBRARY_PATH=$HOME/anaconda2/lib:$LD_LIBRARY_PATH

不幸的是,这将破坏使用Qt5.5的其他程序,因此您只能在100%Python的情况下使用它,例如,如果您使用--pylab启动ipython会话。

我通过查看libxqcb.so的链接方式发现了这个问题:

ldd $HOME/anaconda2/plugins/platforms/libqxcb.so

报告了以下错误:./libqxcb.so: /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: version `Qt_5_PRIVATE_API' not found (required by ./libqxcb.so)

./libqxcb.so: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by ./libqxcb.so)

./libqxcb.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by ./libqxcb.so)

./libqxcb.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.6' not found (required by ./libqxcb.so)

错误信息是说他们找不到Qt_5.6,这是水蟒的版本。我系统上的版本是5.5,我通过查看此命令生成的文件名发现:ls /usr/lib/x86_64-linux-gnu/libQt*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值