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

问题描述 投票:0回答:4

我在终端的代码

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

如何解决这个问题?

qt ubuntu
4个回答
4
投票

尝试:

sudo apt install qt5-style-plugins

2
投票

我在系统更新后尝试运行 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
投票

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

假设你在

${QtRoot}
安装了Qt,扩展
PATH
LD_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}

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


0
投票

我认为如果您的 Qt 安装部分是不同版本,则可能会发生这种情况

我有这些包裹:

qt6-webengine 6.6.1-2
qt6-websockets 6.6.2-1

降级 qt6-websockets 或升级 qt 的其余部分可以解决问题

对我来说,我必须跑步

sudo pacman -S $(pacman -Qq | grep qt6)

基本上升级了所有qt6相关的软件包。 在 Debian 上,命令有所不同,但你明白了

© www.soinside.com 2019 - 2024. All rights reserved.