Linking CXX executable - /usr/bin/ld: cannot find
Hallo C++ und/oder ROS Experten
Ich habe gerade eine frische Installation von Ubuntu 12.04 und ROS.
Meinem alten Installationen war auch auf ubunru 12.04, und es hat Super geklappt.
Aber wenn ich jetzt versuche zu machen oder rosmake auf meinem Projekt bekomme ich den folgenden Fehler:
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
Haben Sie eine Idee, was diese bedeuten oder wie man dieses Problem beheben?
Ich ROS installiert, wie diese, vielleicht brauche ich etwas anderes?:
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
Beste Grüße Bjarke
- Für die Fragen der Zukunft, answers.ros.org ist die offizielle support-forum und kann Ihnen helfen, Antworten auf die ROS-spezifischen Fragen eher.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Fehler zeigt an, dass der linker ist nicht in der Lage zu finden, die Bibliotheken rw_sandbox, rw_sandbox etc. Stellen Sie sicher, dass Sie die Pfade zu den Bibliotheken angegebenen Speicherort in Ihrem makefile.
Die Nachricht sagt, dass es nicht die erforderlichen Bibliotheken verknüpfen Sie Ihr Programm. Kurzer Blick auf installation guide sagt:
Ist es praktisch, wenn die ROS environment-Variablen werden automatisch Hinzugefügt, um Ihre bash-Sitzung jedes mal, wenn eine neue shell gestartet wird:
So, ich denke, Sie sollten starten Sie das setup.bash so, dass es updates der linker Variablen (in der Regel LD_LIBRARY_PATH), um die Position des fehlenden Bibliotheken
Verknüpfen Sie die Bibliotheken, die direkt durch hinzufügen der-llibs der g++ Kommandozeile.
Überprüfen Sie bitte diese Antwort:
Kompilieren roscpp ohne ros (mit g++)
Dort die Verknüpfung erfolgt durch addition der einzelnen Bibliotheken auf der Kommandozeile.