можно решить неопределенную ссылку на символ с помощью cmake

При попытке создать загруженную программу мне была выдана следующая ошибка.

CMakeFiles / ptcloud_vslam_node.dir / src / node / ptcloud_vslam_node.cpp.o: неопределенная ссылка на символ ‘pcl :: console :: print (pcl :: console :: VERBOSITY_LEVEL, char const *, …)’

/ usr / bin / ld: note: ‘pcl :: console :: print (pcl :: console :: VERBOSITY_LEVEL, char const *, …)’ определяется в DSO / opt / ros / groovy / lib / libpcl_common. so.1.6, поэтому попробуйте добавить его в компоновщик
командная строка

/opt/ros/groovy/lib/libpcl_common.so.1.6: не удалось прочитать символы: недопустимая операция

Я попытался добавить следующее в моем файле cmake

    LINK_DIRECTORIES(/opt/ros/groovy/lib/libpcl_common.so.1.6)
TARGET_LINK_LIBRARIES(ptcloud_vslam_node libpcl_common.so.1.6)

но я получил следующую ошибку при запуске cmake

CMake Ошибка в CMakeLists.txt: 51 (TARGET_LINK_LIBRARIES):
Невозможно указать библиотеки ссылок для цели «ptcloud_vslam_node», которая не является
построен по этому проекту.

Какие изменения я должен внести в мой файл cmake, чтобы исправить ошибку компоновки?

Большое спасибо

0

Решение

Там написано «Ссылка на каталоги», но вы передаете ей настоящую библиотеку, ошибка не устраивает, потому что по какой-то причине она хочет собрать ptcloud_vslam_nodeКажется, он не понимает, что вы пытаетесь это указать.

Пожалуйста, оставьте больше информации и добавьте комментарий к этому ответу, и я проверю еще раз.

Символ не найден при использовании шаблона, определенного в библиотеке

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector