1

你好 C++ 和/或 ROS 专家

我刚刚重新安装了 Ubuntu 12.04 和 ROS。

我的旧安装也在 ubunru 12.04 上,效果很好。

但是现在当我尝试对我的项目进行 make 或 rosmake 时,出现以下错误:

  Linking CXX executable ../bin/robot_task_execution
  /usr/bin/ld: cannot find -lrw_sandbox
  /usr/bin/ld: cannot find -lrw_control
  /usr/bin/ld: cannot find -lrw_algorithms
  /usr/bin/ld: cannot find -lrw_pathplanners
  /usr/bin/ld: cannot find -lrw_pathoptimization
  /usr/bin/ld: cannot find -lrw_task
  /usr/bin/ld: cannot find -lrw_simulation
  /usr/bin/ld: cannot find -lrw_opengl
  /usr/bin/ld: cannot find -lrw_lua
  /usr/bin/ld: cannot find -llua51
  /usr/bin/ld: cannot find -lrw_proximitystrategies
  /usr/bin/ld: cannot find -lyaobi
  /usr/bin/ld: cannot find -lpqp
  /usr/bin/ld: cannot find -lrw
  /usr/bin/ld: cannot find -lrw_qhull
  collect2: ld returned 1 exit status

你有什么想法这意味着什么,或者如何解决这个问题?

我像这样安装了ROS,也许我需要别的东西?:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu precise main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install ros-fuerte-desktop-full
echo "source /opt/ros/fuerte/setup.bash" >> ~/.bashrc
. ~/.bashrc
sudo apt-get install python-rosinstall python-rosdep

最好的问候 Bjarke

4

3 回答 3

2

该错误表明链接器无法找到库 rw_sandbox、rw_sandbox 等。确保在 makefile 中指定了库位置的路径。

于 2012-10-11T21:48:06.593 回答
2

该消息说它没有找到链接您的程序所需的库。快速查看安装指南说:

如果每次启动新的 shell 时自动将 ROS 环境变量添加到您的 bash 会话中,这会很方便:

echo "source /opt/ros/fuerte/setup.bash" >> ~/.bashrc
. ~/.bashrc

所以我猜你应该启动 setup.bash 以便它更新链接器变量(通常是 LD_LIBRARY_PATH)以添加丢失库的位置

于 2012-10-11T21:40:12.043 回答
0

您可以通过将 -llibs 添加到 g++ 命令行来直接链接库。

请检查这个答案: Compile roscpp without ros (using g++)

通过在命令行上添加各个库来完成链接。

于 2017-07-07T02:44:19.950 回答