Kminseo

Eigen 관련 오류 및 설치방법 본문

기타

Eigen 관련 오류 및 설치방법

Kminseo 2019. 10. 2. 23:47

Eigen 관련 오류

ROS를 사용할때 기본적으로 Eigen(행렬연산라이브러리)가 필요한 경우가 있는데 Lib나 Package형태로 존재하지 않아 일반적인 방법으로는 Pacakge에서 사용 할 수 없다.

  1. sudo apt-get install libeigen3-dev 으로 설치하거나 FindEigen.cmake 설치
  2. cd /opt/ros/indigo/share/cmake_modules/cmake/Modules/ 이동
  3. sudo cp ~/Download/FindEigen.cmake . 복사
  4. package.xml 수정
    추가
    <build_depend>cmake_modules</build_depend>
    <run_depend>cmake_modules</run_depend>
    
    아래 export 부분에 추가 
    <cpp cflags="`pkg-config --cflags eigen3` -I${prefix}/include `rosboost-cfg --cflags`" 
         lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -lplanning_models"/
    
  5. CMakeList.txt 수정
    순서에 맞춰서 추가시켜야함 
    find_package(cmake_modules REQUIRED)
    list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
    find_package(Eigen REQUIRED)
    include_directories(${Eigen_INCLUDE_DIRS})
    
    catkin_pakcakge 에 추가
    DEPENDS Eigen
    
    target_link_libraries 에 추가
    ${Eigen_LIBRARIES}
    
  6. catkin_make로 빌드

참조 : https://blog.naver.com/tmdals727/221374583966
참조 : https://github.com/ros/cmake_modules/blob/0.3-devel/cmake/Modules/FindEigen.cmake

Comments