uav_utils ROS Package
Provide some widely used utilities in uav development. No library. Only headers.
Dependency: Eigen
This package is deliberately designed not to find Eigen automatically, because there are many cases that you would like to use your own Eigen instead of that in the system directory (/usr/include/eigen3).
How to resolve "fatal error: Eigen/Dense: No such file or directory" problem
-
The most simple and naive solution:
Modify
your-ros-package/CMakeList.txt
like this:include_directories( ... ... /usr/include/eigen3 ... )
-
Use FindEigen.cmake provided by ROS
For details, see https://github.com/ros/cmake_modules/blob/0.3-devel/README.md
-
Specify your own Eigen
- For recent releases of Eigen, cmake support is integrated. You may modify your
CMakeLists.txt
like this:
find_package(Eigen3 REQUIRED NO_DEFAULT_PATH PATHS /opt/eigen3.3/lib/x86_64-linux-gnu/cmake) include_directories( ... ${EIGEN3_INCLUDE_DIR} ${catkin_INCLUDE_DIRS} ... )
- For other third-party FindEigen.cmake, you have to read the cmake file to find correct library-name (Eigen, EIGEN, Eigen3, EIGEN3, etc.) and include-path (*_INCLUDE_DIRECTORIES, *_INCLUDE_DIRECTORY, *_INCLUDE_DIR, *_INCLUDE_DIRECTORIES, etc.)
- For recent releases of Eigen, cmake support is integrated. You may modify your