Closed changh95 closed 3 years ago
문제가 하나 있습니다 :sweat:
현재 PCL, Ceres-solver, GTSAM은 빌드를 위해서 sudo apt install로 시스템 로컬에 Eigen을 설치해서 빌드합니다 (libeigen3-dev). 현재 최신 Eigen3 빌드는 3.3.9인데, sudo apt install로 받을 수 있는 버전은 3.3.7이 최신입니다. 사용은 따로따로해도 크게 문제는 없겠다만... 문제는 PCL, Ceres-solver, GTSAM 내부에서 Eigen을 먼저 찾아버려서, 결국에 main.cpp도 PCL/Ceres/GTSAM이 사용하는 Eigen을 사용하게 되버립니다 ㅜㅜ
디펜던시 문제를 해결하는 방법을 찾아봐야겠습니다.
업데이트:
Ceres-solver의 cmake 파일을 봤는데, 3.3.7을 기본으로 사용하는 것 같습니다. ㅜㅜ Ceres-solver쪽에 3.3.9로 빌드했을 때 문제가 생길 수 있는지 문의해보는것도 좋을 것 같네요. (Ceres repo에 issue넣었습니다)
업데이트:
Ceres-solver에서 3.3.9를 사용해서 빌드하는 방법을 찾았습니다! 하지만 그래도 main.cpp는 3.3.7을 먼저 찾네요 ㅜㅜ
11 번 PR이 머지되고나서 리뷰해주시면 좋을 것 같습니다!
Actions
./setup.py --utils
를 했을 때 설치되는 라이브러리들입니다)target_link_libraries
에 사용되는 변수명 정리if (Eigen3 found)
일 경우 ${EIGEN_LIBS}라는 새로운 변수를 만들어 채워주는 형태로 함으로써 다이나믹 링킹이 가능하게 만듬.결과