您好,我qtcreator在 Ubuntu 16.04 下开始遇到问题。报告的错误是:
qtcreator: /usr/bin/../lib/x86_64-linux-gnu/qtcreator/../libQt5Gui.so.5: version `Qt_5_PRIVATE_API' not found (required by /usr/lib/libQt5Widgets.so.5)
qtcreator: /usr/bin/../lib/x86_64-linux-gnu/qtcreator/../libQt5Gui.so.5: version `Qt_5' not found (required by /usr/lib/libQt5Widgets.so.5)
Run Code Online (Sandbox Code Playgroud)
我尝试了其他线程的不同解决方案,但无法实现。任何人都可以帮助或解释到底是什么问题?几天前我能够运行 qtcreator,但是当我今天尝试时出现此错误。我觉得可能对应安装了一些应用,可惜不能说是哪一个,只好装了几个。
更多信息:
qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
Run Code Online (Sandbox Code Playgroud)
我只从官方存储库安装了 qt 版本,安装了以下文件:
会不会是配置问题?有没有办法重新配置路径?
可能也很有趣,在我无法运行 qtcreator 的同一时刻,我无法rviz从 ros-kinetic-package 运行。
rviz
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Reinstalling the application may fix this problem.
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)
我试图清除rviz,ros,qtcreator并再次安装它,我安装了qt5-default,但无法解决我的问题。感谢您的帮助。
编辑:好的,我花了一些时间并再次从这里尝试解决方案:执行时出错 - 未找到所需的版本“Qt_5”
,这部分解决了问题。有了LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/ qtcreator我可以重新开始qtcreator。但这当然根本不能解决问题,我该如何重新配置它。
编辑 2:LD_LIBRARY_PATH 解决方案对 rviz 问题没有帮助,它告诉我:
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/ rviz
rviz: error while loading shared libraries: librviz.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
然后我尝试
LD_LIBRARY_PATH=/opt/ros/kinetic/lib rviz
Run Code Online (Sandbox Code Playgroud)
有趣的是,这让 rviz 活了下来。
所以看起来我的路径很混乱,问题是为什么以及如何修复它们(将 Qt5.7 库和链接移动到另一个目录是否有帮助)?
(最后要注意的是,如果我没有在调用之前添加 LIBRARY_PATH,其他 ros 工具如 rqt_console、rqt_plot、...也会失败。
编辑 3:所以我想我在里面发现了更多。我有一台来自 FLIR 的相机,它使用了一个名为 spinnaker 的库。要安装,必须安装一堆.deb 包。其中之一是 spinview_qt- .deb。它包含 QT5.7 版本并安装到 /usr/lib。
dpkg --contents spinview-qt-1.10.0.31_amd64.deb
drwxr-xr-x root/root 0 2017-12-21 23:31 ./
drwxr-xr-x root/root 0 2017-12-21 23:31 ./usr/
drwxr-xr-x root/root 0 2017-12-21 23:31 ./usr/share/
drwxr-xr-x root/root 0 2017-12-21 23:31 ./usr/share/pixmaps/
-rw-r--r-- root/root 129041 2017-12-21 23:31 ./usr/share/pixmaps/SpinnakerIcon.ico
drwxr-xr-x root/root 0 2017-12-21 23:31 ./usr/share/applications/
-rw-r--r-- root/root 154 2017-12-21 23:31 ./usr/share/applications/spinview.desktop
drwxr-xr-x root/root 0 2017-12-21 23:31 ./usr/share/doc/
drwxr-xr-x root/root 0 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/
-rw-r--r-- root/root 9190 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/Apache_2.0.txt
-rw-r--r-- root/root 623763 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/Spinnaker-Open-Source-Licenses.pdf
-rw-r--r-- root/root 1485 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/FreeBSD.txt
-rw-r--r-- root/root 27032 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/lgpl_2.1.txt
-rw-r--r-- root/root 1337 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/boost_license.txt
-rw-r--r-- root/root 981 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/FLIR_license.txt
-rw-r--r-- root/root 1597 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/genicam_license.txt
-rw-r--r-- root/root 251 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/changelog.gz
-rw-r--r-- root/root 5387 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/OpenTK_license.txt
-rw-r--r-- root/root 17577 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/freeimage_license.txt
-rw-r--r-- root/root 20993 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/WPCC_BY_SA_license.txt
-rw-r--r-- root/root 7816 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/lgpl_3.0.txt
-rw-r--r-- root/root 25864 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/lgpl_2.0.txt
-rw-r--r-- root/root 2232 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/CLALLSERIAL_license.txt
-rw-r--r-- root/root 10439 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/CPOL_1.02.txt
drwxr-xr-x root/root 0 2017-12-21 23:31 ./usr/lib/
-rw-r--r-- root/root 5339752 2017-12-21 22:48 ./usr/lib/libQt5Core.so.5.7.0
-rw-r--r-- root/root 25047100 2017-12-21 22:48 ./usr/lib/libicudata.so.56.1
-rw-r--r-- root/root 1365560 2017-12-21 22:48 ./usr/lib/libQt5XcbQpa.so.5.7.0
-rw-r--r-- root/root 1432320 2017-12-21 22:48 ./usr/lib/libQt5Network.so.5.7.0
-rw-r--r-- root/root 5909528 2017-12-21 22:48 ./usr/lib/libQt5Gui.so.5.7.0
-rw-r--r-- root/root 356208 2017-12-21 22:48 ./usr/lib/libQt5OpenGL.so.5.7.0
-rw-r--r-- root/root 6614408 2017-12-21 22:48 ./usr/lib/libQt5Widgets.so.5.7.0
-rw-r--r-- root/root 3374854 2017-12-21 22:48 ./usr/lib/libicui18n.so.56.1
-rw-r--r-- root/root 2070162 2017-12-21 22:48 ./usr/lib/libicuuc.so.56.1
-rw-r--r-- root/root 527104 2017-12-21 22:48 ./usr/lib/libQt5DBus.so.5.7.0
drwxr-xr-x root/root 0 2017-12-21 23:31 ./usr/bin/
-rwxr-xr-x root/root 852544 2017-12-21 23:07 ./usr/bin/SpinView_QT
drwxr-xr-x root/root 0 2017-12-20 02:45 ./usr/bin/platforms/
-rw-r--r-- root/root 303544 2017-12-20 02:45 ./usr/bin/platforms/libqlinuxfb.so
-rw-r--r-- root/root 10192 2017-12-20 02:45 ./usr/bin/platforms/libqxcb.so
-rw-r--r-- root/root 141072 2017-12-20 02:45 ./usr/bin/platforms/libqoffscreen.so
-rw-r--r-- root/root 176720 2017-12-20 02:45 ./usr/bin/platforms/libqminimalegl.so
-rw-r--r-- root/root 140592 2017-12-20 02:45 ./usr/bin/platforms/libqminimal.so
-rw-r--r-- root/root 9968 2017-12-20 02:45 ./usr/bin/platforms/libqeglfs.so
-rwxr-xr-x root/root 70 2017-12-20 02:47 ./usr/bin/spinview
lrwxrwxrwx root/root 0 2017-12-21 23:31 ./usr/share/doc/spinview-qt1/LICENSE -> FLIR_license.txt
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5XcbQpa.so.5 -> libQt5XcbQpa.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Gui.so.5.7 -> libQt5Gui.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5XcbQpa.so.5.7 -> libQt5XcbQpa.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Network.so.5 -> libQt5Network.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Gui.so -> libQt5Gui.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5XcbQpa.so -> libQt5XcbQpa.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5OpenGL.so.5.7 -> libQt5OpenGL.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Network.so -> libQt5Network.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Gui.so.5 -> libQt5Gui.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5DBus.so -> libQt5DBus.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Core.so -> libQt5Core.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Widgets.so.5 -> libQt5Widgets.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5OpenGL.so -> libQt5OpenGL.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libicuuc.so.56 -> libicuuc.so.56.1
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Network.so.5.7 -> libQt5Network.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Core.so.5.7 -> libQt5Core.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libicudata.so.56 -> libicudata.so.56.1
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5DBus.so.5 -> libQt5DBus.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Widgets.so -> libQt5Widgets.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Widgets.so.5.7 -> libQt5Widgets.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5DBus.so.5.7 -> libQt5DBus.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libicui18n.so.56 -> libicui18n.so.56.1
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5OpenGL.so.5 -> libQt5OpenGL.so.5.7.0
lrwxrwxrwx root/root 0 2017-12-21 22:48 ./usr/lib/libQt5Core.so.5 -> libQt5Core.so.5.7.0
Run Code Online (Sandbox Code Playgroud)
我认为问题可能是 Ubuntu 在 /usr/lib/x86_64-linux-gnu 中查找之前尝试在 /usr/bin 中查找 QT5。所以我的问题是,如何再次默认使用 QT5.5.1 版本来实现 Ubuntu?我可以配置它还是现在必须始终添加 LD_LIBRARY_PATH?如何卸载 QT5.7 库?只是删除上面列出的文件?
小智 5
Qtcreator 和 rviz 不起作用,因为它们需要来自的 qt 库/usr/lib/x86_64-linux-gnu,但改为链接(您可以使用和/usr/lib/libQt*仔细检查它)。这种混乱确实与你的相机包安装有很大关系。ldd $(which qtcreator)ldd $(which rviz)
我看到有几种方法可以解决这个问题:
1.
看起来您的链接器优先级/usr/lib高于/usr/lib/x86_64-linux-gnu. 检查你的LD_LIBRARY_PATH:
echo $LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)
如果它包含/usr/lib- 尝试摆脱它(您必须跟踪更新的位置LD_LIBRARY_PATH- 是在.bashrc还是其他地方?也许/etc/ld.so.conf.d?)
2.
将您的LD_LIBRARY_PATH输入设置.bashrc为指向有效的 qt 目录。请记住不要覆盖变量,而是扩展它(将其放在 的末尾~/.bashrc):
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)
然后重新加载.bashrc:
. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
在您的实验中,您在启动时进行了覆盖qtcreator,rviz因此这两个应用程序中只有一个正在工作,具体取决于LD_LIBRARY_PATH您的设置。
或者,您可以添加/usr/lib/x86_64-linux-gnu/路径/etc/ld.so.conf.d/- 只需.conf使用 qt 路径创建一个新文件并使用以下命令重新加载所有内容
sudo ldconfig
Run Code Online (Sandbox Code Playgroud)
使用此方法可能会破坏您的相机包,因为从现在开始它将与您的新路径中的库链接。
3.
临时将相机包 ( /usr/lib/libQt*) 提供的 Qt 库移动到另一个位置,并检查是否可以spinview与 5.7 以外的其他版本的 qt 正常工作。如果是 - 您可以自由删除 qt5.7 库,/usr/lib/因为不需要它们 - 这里不需要复杂的卸载过程。无论如何,您始终可以使用相机.deb包恢复它。
| 归档时间: |
|
| 查看次数: |
10198 次 |
| 最近记录: |