C++ Eigen库 cmake 找不到

发表信息: by

C++ Eigen库 cmake 找不到

今天遇到一个小问题,就是C++的Eigen库突然在cmake的时候提醒找不到。 到另外一个ros包,同样的写法居然找得到。


cmake_minimum_required (VERSION 3.0)
project (myproject)
find_package (Eigen3 3.3 REQUIRED NO_MODULE)
add_executable (example example.cpp)
target_link_libraries (example Eigen3::Eigen

官网推荐的这种写法完全不顶事啊 ……

google查找后发现,是这样的Eigen库是一个只有头文件的库,完全不需要做find_package操作可以直接使用cmake环境变量

INCLUDE_DIRECTORIES ( "$ENV{EIGEN3_INCLUDE_DIR}" )

或者:

SET( EIGEN3_INCLUDE_DIR "$ENV{EIGEN3_INCLUDE_DIR}" )
IF( NOT EIGEN3_INCLUDE_DIR )
    MESSAGE( FATAL_ERROR "Please point the environment variable EIGEN3_INCLUDE_DIR to the include directory of your Eigen3 installation.")
ENDIF()
INCLUDE_DIRECTORIES ( "${EIGEN3_INCLUDE_DIR}" )

参考: https://stackoverflow.com/questions/12249140/find-package-eigen3-for-cmake