CMake Error: not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH

 

一.第一种解决方法

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()

  

posted @ 2018-10-16 16:12  anobscureretreat  阅读(3989)  评论(0编辑  收藏  举报