Проблема с ROS-ссылкой: «Нет правила для создания целевого vtk6.2»

#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