您好我在Ubuntu 16.04下启动qtcreator
时遇到问题。报告的错误是:
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)
我尝试了其他线程的不同解决方案,但无法实现。任何人都可以帮助或解释究竟是什么问题?几天前我能够运行qtcreator,但是当我今天尝试时,我遇到了这个错误。我认为它可能对应于某些应用程序的安装,遗憾的是我无法说出哪一个,我必须安装一些。
更多信息:
qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
我只从官方存储库安装了qt版本,安装了以下文件:
可能存在配置问题吗?有没有办法重新配置路径?
也许有趣的是,在我无法运行qtcreator的那一刻,我无法从ros-kinetic-package运行rviz
。
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)
我试图清除rviz,ros,qtcreator并再次安装它,我安装了qt5-default,但无法解决我的问题。 谢谢你的帮助。
编辑:好的,我花了一些时间再次尝试解决方案:Error on execution -version `Qt_5' not found required by
这部分地解决了这个问题。使用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
然后我尝试了
LD_LIBRARY_PATH=/opt/ros/kinetic/lib rviz
有趣地让rviz生活。
所以我的路径似乎很混乱,问题是为什么以及如何修复它们(它有助于移动Qt5.7库和链接到另一个目录)吗?
(最后要注意的是,其他ros工具如rqt_console,rqt_plot,......如果我没有在通话之前添加LIBRARY_PATH也会失败。
编辑3:所以我想我发现了更多内心。我有一台FLIR相机,它使用一个叫做大三角帆的图书馆。要安装,必须安装一堆 .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
我认为问题可能是Ubuntu在查找/ usr / lib / x86_64-linux-gnu之前尝试在/ usr / bin中找到QT5。所以我的问题是,如何再次使用QT5.5.1版本作为默认值来实现Ubuntu?我可以配置它还是现在必须添加LD_LIBRARY_PATH?如何卸载QT5.7 lib?只需删除上面列出的文件?
答案 0 :(得分:3)
Qtcreator和rviz不能正常工作,因为他们需要来自/usr/lib/x86_64-linux-gnu
的qt lib,而是与/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
如果它包含/usr/lib
- 尝试摆脱它(您必须跟踪更新LD_LIBRARY_PATH
的位置 - 是.bashrc
还是其他地方?可能{{1 }}?)
<强> 2 强>
将/etc/ld.so.conf.d
设置为LD_LIBRARY_PATH
以指向有效的qt目录。请记住不要覆盖变量,而是扩展它(将其放在.bashrc
的末尾):
~/.bashrc
然后重新加载export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH
:
.bashrc
在您的实验中,您在启动. ~/.bashrc
和qtcreator
时进行了覆盖,因此这两个应用中只有一个正在运行,具体取决于您设置的rviz
。
或者,您可以在LD_LIBRARY_PATH
中添加/usr/lib/x86_64-linux-gnu/
路径 - 只需使用qt路径创建一个新的/etc/ld.so.conf.d/
文件,然后使用
.conf
使用此方法可能会打破您的相机包,因为从现在开始它将与您新路径中的libs链接。
第3 强>
将随相机包(sudo ldconfig
)提供的Qt库临时移动到另一个位置,并检查/usr/lib/libQt*
是否可以与其他版本的qt一起使用,而不是5.7。如果是 - 您可以自由地从spinview
删除qt5.7库,因为它们不需要 - 这里不需要复杂的卸载过程。无论如何,您始终可以使用相机/usr/lib/
包恢复它。
答案 1 :(得分:2)
我遇到了类似的问题,最终通过运行“ LD_LIBRARY_PATH = / usr / lib / x86_64-linux-gnu / qtcreator”解决了问题,而不仅仅是“ qtcreator”。首先,谢谢您的回答
我采取了一些措施来更深入地了解问题:
答案 2 :(得分:-2)
我刚刚解决了这个问题。试试这个:
gedit ~/.bashrc
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
保存文件。然后,
source ~/.bashrc