编译ORB-SLAM时出现这个问题
/usr/bin/ld: 找不到 -lEigen3::Eigen
collect2: error: ld returned 1 exit status
CMakeFiles/ORB_SLAM2.dir/build.make:601: recipe for target '../lib/libORB_SLAM2.so' failed
make[2]: *** [../lib/libORB_SLAM2.so] Error 1
CMakeFiles/Makefile2:252: recipe for target 'CMakeFiles/ORB_SLAM2.dir/all' failed
make[1]: *** [CMakeFiles/ORB_SLAM2.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Eigen库不同于一般的库,它只有头文件,没有.so和 .a那样的二进制库文件。
所以不能-lEigen3::Eigen
在CMakeLists.txt中添加
find_package(Eigen3 3.3 REQUIRED NO_MODULE)
include(FindEigen3.cmake)