ошибка: неопределенная ссылка на ros :: init () при использовании библиотек ROS в рабочей области домена без ROS? - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь скомпилировать файл .cpp, который использует некоторые функции библиотеки ROS, такие как "ros/ros.h", "std_msgs/String.h". В файле make я включил путь к соответствующим файлам в разделе include.

Но когда я компилирую .cpp, я получаю ошибки вроде:

:Undefined reference to 'ros::init(int&, char**,
std::__cxx11::basic_string<char, std::char_traits<char="">,
std::allocator<char>> const&, unsigned int)'.

Точно так же я получаю некоторые другие ошибки, такие как

:Undefined reference to ros::NodeHandle
:Undefined reference to ros::Rate::Rate(double)
:Undefined reference to ros::ok()

и т.д.

В чем может быть причина таких ошибок? Как я могу преодолеть эти ошибки?

1 Ответ

0 голосов
/ 29 мая 2018

Ваша проблема в том, что ваш компоновщик не может найти libroscpp.so, расположенный в /opt/ros/<your-distro>/lib/ Вы можете добавить этот путь вручную к вашему пути ldconfig

Или вы можете поместить его в то место, которое уже находится на вашем пути ldconfig

...