链接CXX可执行文件 - / usr / bin / ld:找不到

时间:2012-10-11 21:15:57

标签: c++ gcc g++ ros

Hello C ++和/或ROS专家

我刚刚安装了Ubuntu 12.04和ROS。

我的旧装置也在ubunru 12.04上,它运作得很好。

但是现在当我尝试制作或改造我的项目时,我得到了以下错误:

  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

3 个答案:

答案 0 :(得分:2)

消息显示它找不到链接程序所需的库。快速查看installation guide说:

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

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

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

答案 1 :(得分:2)

错误表明链接器无法找到库rw_sandbox,rw_sandbox等。请确保您具有指向makefile中指定的库位置的路径。

答案 2 :(得分:0)

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

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

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