Mit Eigen-Bibliothek in ROS Indigo
Arbeite ich an einem Projekt in ROS Indigo, erfordert die Verwendung der Eigen-Bibliotheken. Nach indigo/Migration Seite auf die ROS-Wiki, der FindEigen.cmake-module ist nun in der cmake_modules Paket.
Nach folgenden Schritten fügen Sie die cmake_modules Paket des Projekts CMake.txt (über find_package) und das hinzufügen einer build-Abhängigkeit der package.xml (< build_depend >cmake_modules< /build_depend >
), bin ich noch immer Probleme mit dem kompilieren des Projekts. Ich habe in verschiedenen Quellen unter Berufung auf die oben genannten Schritte sollten das Problem beheben in ROS Indigo, aber kann nicht scheinen, um es funktioniert. Hier ist die CMake - Datei, und hier ist die package.xml . Zusätzlich habe ich noch die FindEigen.cmake-Datei im Projekt-Ordner. Jede Hilfe wäre sehr geschätzt werden! Der Fehler lautet:
CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:75 (find_package):
Could not find a package configuration file provided by "Eigen" with any of the
following names:
EigenConfig.cmake
eigen-config.cmake
Add the installation prefix of "Eigen" to CMAKE_PREFIX_PATH or set
"Eigen_DIR" to a directory containing one of the above files. If "Eigen"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
lidar_point_cloud/CMakeLists.txt:9 (find_package)
- Auch ich bin mit ROS Indigo auf Ubuntu
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur für post-Vollständigkeit und folgende diese Antwort in Antworten ROS:
Haben Sie Eigen schon installiert sind (überprüfen mit
sudo apt-get install libeigen3-dev
), dann müssen Sie die entsprechendencmake_modules
undEigen
Linien zu den CMakeLists.txt und package.xml Dateien:package.xml
CMakeLists.txt
UPDATE: Beachten Sie, dass die folgenden ist nicht erforderlich, da die FindEigen.cmake Modul definiert nicht
Eigen_LIBRARIES
denn es ist ein header, der nur Bibliothek:Mehr Informationen: http://wiki.ros.org/indigo/Migration#cmake_modules
UPDATE: In der Tat
<run_depend>cmake_modules</run_depend>
ist nicht notwendig, dacmake_modules
sind keine runtime-Abhängigkeit.Darüber hinaus können Sie mit der ROS ecl-Wrapper: http://wiki.ros.org/ecl
${Eigen_LIBRARIES}
ist nicht erforderlich. Eigen ist eine header-only-Bibliothek, so gibt es nichts zu verlinken.Eigen ist, nicht ein ROS-Paket, sondern eine eigenständige Bibliothek. Deshalb, anstatt der Notierung als eine Komponente von catkin, fügen Sie einfach eine separate
find_package
nennen:Ich kann nicht überprüfen Sie es jetzt (derzeit sitzen an einer Maschine mit groovy), aber ich bin mir ziemlich sicher, dass dies auch bei mir geklappt mit indigo.
Ich hatte das gleiche problem, das es behoben: (Ubuntu 14.04)
sudo apt-get install libeigen3-dev
Für mich das "sudo apt-get install libeigen3-dev" nicht funktioniert. So ich installierte es über die Datei und die installation in das Paket, d.h.,
Wenn dies nicht Ihr problem lösen, Sie können die eigen3 Ordner aus, wo immer Sie ist
(mine was at /usr/local/include)
/usr/include. Verwenden Sie den Befehl