Zero_J Ответов: 3

Ошибка связывания в linux


Я новый пользователь в ubuntu 14.04 32 bit, чтобы сделать свой проект leddar.Я также установил все необходимые пакеты (Qt, другие библиотеки), но есть много ошибок связывания, когда я catkin_make все. И до сих пор я сталкиваюсь с какой-то проблемой связывания и не знаю, как ее решить.

следуйте ошибка показывает мне:

/home / darwin/catkin_ws/src/leddar/lib/libLeddar. so: неопределенная ссылка на `QString:: toLocal8Bit_helper(QChar const*, int)'
/главная/Дарвин/catkin_ws/в src/leddar/Либ/libLeddarC.так: неопределенная ссылка на `типа QString::toUtf8_helper(типа QString как const&ампер;)'
collect2: ошибка: ld вернул 1 статус выхода
принять[2]: *** [/дома/Дарвин/catkin_ws/разработка/Либ/leddartech/leddartech_node] Ошибка 1
make[1]: * * * [leddar/CMakeFiles/leddartech_node.dir/all] Ошибка 2
сделать: * * * [все] Ошибка 2
Вызов "make-j4-l4" не удался


Кто-нибудь сталкивался с такой проблемой раньше и делился своим способом решения? Спасибо!

Что я уже пробовал:

это сайт я USD на скачать пакет leddar оригинал:https://GitHub-е. ком/jpmerc/leddartech

Jochen Arndt

Я заглянул на страницу LeddarTech GitHub. Существуют только готовые библиотеки и нет источников для их создания самостоятельно. Так что только они могут вам помочь.

Но любопытно, что библиотеки ссылаются на библиотечные функции Qt. Они кажутся просто аппаратными библиотеками доступа и не должны быть связаны с какими-либо другими библиотеками, не используемыми по умолчанию (особенно сторонними, такими как Qt).

Zero_J

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

3 Ответов

Рейтинг:
8

Zero_J

Я должен был решить свою проблему. Я просто переустановил свою linux-систему на 64-битную, а затем скачал эти пакеты Leddar SDK и leddar ROS package и Qt5, после чего все было в порядке! Я считаю, что некоторые из пакетов не были надежны в 32-битной системе, поэтому вызывают так много проблем.

И спасибо всем за помощь!


Albert Holguin

Вполне возможно, что он не нашел библиотеки Qt в ожидаемом месте. Вы могли бы фактически указать местоположение, либо отредактировав makefile, либо используя путь к библиотеке загрузки (переменная среды).

Рейтинг:
2

Richard MacCutchan

В разделе компоновщика отсутствует ссылка на библиотеку. Проверьте документацию на наличие QString::toLocal8Bit_helper и QString::toUtf8_helper чтобы увидеть, какой из них требуется.


Zero_J

Спасибо, что ответили, но проблема в том, что я не могу их найти. "/главная/Дарвин/catkin_ws/в src/leddar/Либ/libLeddar.так, " потому что файл lib там их нет. Кстати, эти lib-это предварительно скомпилированный файл, поэтому я не могу их проверить

Richard MacCutchan

Это библиотека Qt, которая отсутствует, или какая-то производная Qt, которая включает в себя эти два метода. Вы можете попробовать обратиться за помощью к людям из Leddartech.

Zero_J

Спасибо, я постараюсь попросить их о дополнительной помощи.

Рейтинг:
1

Mikaell

- Привет!

Я знаю, что уже поздно, но у меня точно такая же проблема, и я решил ее немного по-другому.

Проблема была в версии Qt-5.2.0.
Вы должны удалить previos Qt самым трудным способом (я сам не очень хорош в linux, я использовал это )[^].

И затем устанавливается на Qt с открытым исходным кодом-Linux на х64-5.4.0.бежать от
[^]

Вот и все в целом. После этого было несколько простых проблем с symlink, которые были легко устранены.

Я потратил на эту проблему целый день, надеюсь, что когда-нибудь это поможет))