qtcreator Qt_5 не найден

Привет у меня проблема с запуском 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)

Я пробовал разные решения из других тем, но не могу сделать это. Может кто-нибудь помочь или объяснить, в чем именно проблема? Несколько дней назад я смог запустить qtcreator, но когда я попробовал сегодня, я получил эту ошибку. Я думаю, что это может соответствовать установке какого-либо приложения, к сожалению, я не могу сказать, какое из них мне пришлось установить несколько.

Еще немного информации:

qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu

У меня установлены только версии qt из официальных репозиториев, установлены следующие файлы:

  • /usr/lib/libQt5Core.so.5.7.0
  • /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.7
  • /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1

Может ли быть проблема конфигурации? Есть ли способ перенастроить пути?

Наверное, тоже интересно, в тот же момент, когда я не могу запустить qtcreator, я не могу бежать 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, но не смог решить мою проблему. Спасибо за помощь.

Изменить: Хорошо, я взял некоторое время и попробовал решение отсюда снова: Ошибка при выполнении - версия `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

Я тогда попробовал

LD_LIBRARY_PATH=/opt/ros/kinetic/lib rviz

что интересно принесло рвизу жить.

Таким образом, кажется, что мои пути перепутаны, вопрос в том, почему и как их исправить (помогает ли перемещать библиотеки Qt5.7 и ссылки в другой каталог)?

(Последнее, что следует отметить, другие инструменты ros, такие как rqt_console, rqt_plot, ... тоже не работают, если я не добавлю LIBRARY_PATH перед вызовом.

РЕДАКТИРОВАТЬ 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

Я думаю, что проблема может быть в том, что Ubuntu пытается найти QT5 в /usr/bin перед тем, как искать в /usr/lib/x86_64-linux-gnu. Итак, мой вопрос, как я могу добиться Ubuntu, используя версию QT5.5.1 по умолчанию снова? Могу ли я настроить его или мне всегда нужно добавлять LD_LIBRARY_PATH? Как я могу удалить библиотеку QT5.7? Просто удалите файлы, перечисленные выше?

4 ответа

Решение

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

и если он содержит /usr/lib - попытаться избавиться от этого (вы должны отслеживать, где вы обновляете LD_LIBRARY_PATH - это в .bashrc или где-то еще? может быть /etc/ld.so.conf.d?)

2. Установите свой LD_LIBRARY_PATH в .bashrc указать действительный QT DIR. Не забудьте не переопределить переменную, а скорее расширить ее (поставить это в конце ~/.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/ путь в /etc/ld.so.conf.d/ - просто создай новый .conf файл с путем QT и перезагрузите все с

sudo ldconfig

Использование этого метода может разрушить ваш пакет камер, потому что теперь он будет связываться с библиотеками с вашего нового пути.

3. Временное перемещение библиотек Qt, входящих в комплект камеры (/usr/lib/libQt*) в другое место и проверьте, если spinview отлично работает с другой версией Qt, чем 5.7. Если да - вы можете удалить qt5.7 libs из /usr/lib/ поскольку они не нужны - здесь не требуется сложный процесс удаления. Вы всегда можете восстановить его с помощью камеры .deb Пакет в любом случае.

У меня была похожая проблема, которая в конечном итоге была решена путем запуска "LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/ qtcreator" вместо просто "qtcreator". Поэтому прежде всего спасибо за ответ

Некоторые шаги, которые я предпринял, чтобы глубже понять проблему:

  • Проверьте, какие библиотеки связаны с qtcreator, запустив "ldd -v /usr/local/Qt/5.7/gcc_64/lib/libQt5Widgets.so.5" (абсолютный путь к libQt5Widgets.so.5, указанный в "required by" сообщение об ошибке)
  • Узнайте, какие версии установлены в системе, запустив "sudo find / -name libQt5Widgets.so *". Оказывается, у меня было установлено три версии (5.5.1, 5.7.1 и 5.11.1). В настоящее время qtcreator использовал 5.7.1 (сравните результат ldd с результатом find)
  • Часто рекомендуется устанавливать qt5-default вместе с qtcreator (оба используют sudo apt install). Запуск "dpkg -s qt5-default" показывает, что он имеет версию 5.5.1. Поэтому вполне вероятно, что qtcreator хочет версии библиотеки 5.5.1 (даже если бы я ожидал, что она будет работать и с более высокими версиями).
  • Заставьте qtcreator использовать библиотеки 5.5.1, указав их путь через переменную среды LD_LIBRARY_PATH, то есть выполните команду "LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/ qtcreator"

QtCreator поставляется со всеми поддерживающими библиотеками, например,

      $QTDIR/Tools/QtCreator/lib/Qt/lib/libQt5XcbQpa.so.5.15.2

Где QTDIR указывает на вашу установку QT. Итак, вы можете сделать:

      LD_LIBRARY_PATH=$QTDIR/Tools/QtCreator/lib/Qt/lib $QTDIR/Tools/QtCreator/bin/qtcreator

или различные способы добавления в LD_LIBRARY_PATH.

Я только что исправил эту проблему. Попробуй это:

gedit ~/.bashrc

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

Сохраните файл. Потом,

source ~/.bashrc
Другие вопросы по тегам