我发现cmake
有一种奇怪的行为。在我的计算机上,我有两个版本的Eigen
:
我在$PATH
中添加了2.特征库的位置。
在 CMakeFiles.txt 中我写
find_package(Eigen3 3.3.3 REQUIRED)
if (NOT Eigen3_FOUND)
MESSAGE( STATUS "Eigen not found.")
endif(NOT Eigen3_FOUND)
MESSAGE( STATUS "EIGEN_DIR: " ${Eigen3_INCLUDE_DIR})
但它输出以下内容:
-- Found Eigen3: /home/armena/armena/eigen3 (Required is at least version "3.3.3")
-- Eigen not found.
-- EIGEN_DIR:
根据我的理解,它找到了库,但它无法返回它的位置。知道如何解决这个问题吗?感谢
答案 0 :(得分:1)
问题是Eigen的软件包配置文件没有遵循CMake建议的命名准则;它的所有变量都以EIGEN3_
为前缀,而不是Eigen3_
。如果您像这样更改CMakeList,它应该可以工作:
if (NOT EIGEN3_FOUND)
message( STATUS "Eigen not found.")
endif()
message( STATUS "EIGEN_DIR: " ${EIGEN3_INCLUDE_DIR})