我已经使用包管理器 (使用) 安装了 Qt Creator 程序sudo apt install qtcreator
。安装后,当我尝试启动该程序时,它会显示以下错误消息。
qtcreator: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory
我已尝试过sudo apt install libqt5widgets5
但显示它已安装。
当我跑步时locate libQt5Widgets.so.5
,出现了这些:
/snap/kde-frameworks-5/27/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
/snap/kde-frameworks-5/27/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.11
/snap/kde-frameworks-5/27/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.11.0
的结果apt-cache policy qtcreator
:
qtcreator:
Installed: 4.5.2-3ubuntu2
Candidate: 4.5.2-3ubuntu2
Version table:
*** 4.5.2-3ubuntu2 500
500 http://mirror.dhakacom.com/ubuntu-archive bionic/universe amd64 Packages
100 /var/lib/dpkg/status
和snap list
:
Name Version Rev Tracking Publisher Notes
core 16-2.34.3 5145 stable canonical core
gnome-3-26-1604 3.26.0 70 stable/… canonical -
gnome-calculator 3.28.2 180 stable/… canonical -
gnome-characters 3.28.2 103 stable/… canonical -
gnome-logs 3.28.2 37 stable/… canonical -
gnome-system-monitor 3.28.2 51 stable/… canonical -
gtk-common-themes 0.1 319 stable canonical -
kde-frameworks-5 5.47.0 27 stable kde -
okular 18.04.2 33 stable kde -
termdown 1.13.0 8 stable dpb -
我对 Linux 和 Ubuntu 还不熟悉。我在网上似乎找不到任何具体的解决方案。我的系统是 Ubuntu 18.04.1 LTS(64 位)。
更新:
在网上搜索了一下之后我做了以下事情
sudo apt install --reinstall libqt5widgets5
这就将加载共享库时的警告改为错误:“其他内容”无法打开.....所以我一直重新安装导致错误的库,现在出现了这个,
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
Reinstalling the application may fix this problem.
Aborted (core dumped)
我尝试重新安装多次,但没有帮助。
答案1
经过大量乏味的互联网搜索后,我终于自己找到了解决方案。我相信我的问题是由于这个错误造成的https://bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/1772900
因为我的安装在 grub 安装期间也失败了,可能是安装不完整。
因此,许多库被标记为已安装但实际上并未安装(从而导致缺少库错误)。这不仅影响了 Qt Creator,还影响了其他应用程序,如 VLC、Gparted 等。
所以我的解决方案主要是重新安装所有缺少的库(在错误中显示并使用 找到ldd
)。最后我让它工作了。