无法将不兼容的Qt库(版本0x50501)与此库混合(版本0x50201)

时间:2016-11-02 04:32:42

标签: qt ubuntu

我在终端中的代码Shadowsocks-Qt5中安装了sudo apt-get install shadowsocks-qt5,然后我可以通过搜索找到启动图标,但是当我点击图标时它不会打开。然后我尝试使用终端打开它,但错误如下:

~ ss-qt5
Cannot mix incompatible Qt library (version 0x50501) with this library (version 0x50201)
[1]    8875 abort (core dumped)  ss-qt5

我搜索了许多答案,但没有人工作。我认为密钥可能是默认的Qt库,但我不知道如何设置默认的Qt库,我的计算机上的系统是Ubuntu 14.04 LTS

如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

在执行系统更新后尝试运行Qt Creator时出现了此错误。对我来说,我试图运行Qt Creator 4.10.0-rc1(基于Qt 5.13.1),该软件是与Qt 5.13.0一起手动安装到〜/ Qt的,并且我的系统已安装Qt 5.12.2。

我遇到以下错误:

Cannot mix incompatible Qt library (version 0x50c02) with this library (version 0x50d00)

在运行qtcreator.sh时执行strace,表明它正在尝试从系统目录加载插件。我终于发现罪魁祸首是设置了环境变量QT_PLUGIN_PATH(在我的情况下为/usr/lib64/qt5/plugins:/usr/lib64/qt5/plugins/kcms)。

取消设置此变量后,Qt Creator启动并工作。

答案 1 :(得分:0)

我也遇到了类似的问题,即使经过4个小时的调试,我仍然一无所获。最后,我找到了以下方法来保留单独的Qt版本,并在此处发布以便其他人找到它。

假设您在${QtRoot}中安装了Qt,扩展了PATHLD_LIBRARY_PATH

export PATH=${QtRoot}/bin:${PATH}
export LD_LIBRARY_PATH=${QtRoot}/lib:${LD_LIBRARY_PATH}

您可以制作包装函数/脚本来管理单独的Qt安装,如下所示:

QtVersion=5.12.8

QtRoot="/scratch/Qt/${QtVersion}/gcc_64"

export PATH=${QtRoot}/bin:${PATH}
export LD_LIBRARY_PATH=${QtRoot}/lib:${LD_LIBRARY_PATH}

运行此程序后,您的应用程序可能会正常运行。

答案 2 :(得分:0)

经过这么多个月的尝试解决这个问题,这对我有帮助。

sudo apt install qt5-style-plugins.