我在终端的代码
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
。
如何解决这个问题?
尝试:
sudo apt install qt5-style-plugins
我在系统更新后尝试运行 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 启动并工作。
我遇到了类似的问题,即使经过 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}
运行此命令后,您的应用程序可能会正常运行。
我认为如果您的 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 上,命令有所不同,但你明白了