一.第一種解決方法
cd /usr/share/ ,cmake tab補全,可以找到兩個版本的cmake(cmake2.8和cmake3.5)
把/usr/share/cmake2.8/Modules/ 下的FindEigen3.cmake文件復制到cmake3.5對應目錄下,即可解決
二.第二種解決方法
1、找到FindEigen3.cmake文件,/usr/share/cmake2.8/Modules
2、復制到自己這個的工程下
3、在工程的CMakeLists.txt里面。添加這句話:
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})*******就是這句,加上就行了。這樣cmake就會到你自己工程目錄下去找FindEigen3.cmake了。
find_package(Eigen3)
if(NOT EIGEN3_FOUND)
# Fallback to cmake_modules
find_package(cmake_modules REQUIRED)
find_package(Eigen REQUIRED)
set(EIGEN3_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS})
set(EIGEN3_LIBRARIES ${EIGEN_LIBRARIES}) # Not strictly necessary as Eigen is head only
# Possibly map additional variables to the EIGEN3_ prefix.
else()
set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
endif()
