#c #linux #makefile #ros #catkin
#c #linux #makefile #ros #каткин
Вопрос:
Я пытаюсь скомпилировать разработанный мной проект ROS, который вызывает проблемы с компиляцией только на виртуальной машине Ubuntu 16.04. (ПК по умолчанию, на котором обычно встроен дистрибутив Ubuntu 16.04, с той лишь разницей, что теперь я на виртуальной машине).
Один из пакетов, которые я пытаюсь создать, зависит от
#include <pcl/visualization/pcl_visualizer.h>
который включает в себя зависимость от vtk6.2
.
Я совершенно уверен, что vtk6.2
он установлен по умолчанию в дистрибутивах Ubuntu 16.04 (или я установил его ранее, но я не помню). Действительно, если я выполню следующую команду на терминале
$ locate vtk-6.2
Результирующий результат представляет собой текстовую стену, содержащую все файлы, включенные в:
/usr/include/vtk-6.2/**
/usr/bin/**
/usr/lib/cmake/vtk-6.2/**
/usr/lib/python2.7/dist-packages/vtk/**
/usr/lib/tcltk/vtk-6.2/**
/usr/lib/x86_64-linux-gnu/libvtk*
/usr/share/vtk-6.2/**
Таким образом, кажется, что зависимости уже присутствуют и готовы к использованию, поскольку они установлены по правильному пути.
К сожалению, когда я пытаюсь скомпилировать с catkin_make -j1
выводом, появляется следующая ошибка:
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0', needed by '...'. Stop.
CMakeFiles/Makefile2:14528: recipe for target '...' failed
Любая помощь действительно ценится.
Ответ №1:
Просто для повторной libvtkCommonCore-6.2.so
ссылки используйте, как показано ниже:
> sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0
> sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0 /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2
> sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2 /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so