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

5

我在终端中使用命令sudo apt-get install shadowsocks-qt5安装了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个回答

3

经过数月的尝试解决此问题,这个方法对我很有帮助。

运行以下命令:sudo apt install qt5-style-plugins。


2
我不得不移除那个包以修复我的问题。 - Scott Hather
3
在Manjaro上,卸载并重新安装qt5-styleplugins解决了我的问题。 - tfpf

2

我在执行系统更新后,尝试运行Qt Creator时遇到了这个错误。对我来说,我尝试运行我手动安装到~/Qt的Qt Creator 4.10.0-rc1(基于Qt 5.13.1),以及Qt 5.13.0,而我的系统已安装了Qt 5.12.2。

我遇到了以下错误:

Original Answer

翻译成“最初的回答”。

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
我曾经遇到过类似的问题,即使调试了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}

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接