При попытке создать загруженную программу мне была выдана следующая ошибка.
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, чтобы исправить ошибку компоновки?
Большое спасибо
Там написано «Ссылка на каталоги», но вы передаете ей настоящую библиотеку, ошибка не устраивает, потому что по какой-то причине она хочет собрать ptcloud_vslam_node
Кажется, он не понимает, что вы пытаетесь это указать.
Пожалуйста, оставьте больше информации и добавьте комментарий к этому ответу, и я проверю еще раз.
Символ не найден при использовании шаблона, определенного в библиотеке
Это объяснит, как работает связывание, тогда вы, возможно, лучше поймете ошибки.
Других решений пока нет …