2016-07-27 289 views
1

我正在尝试构建TheiaSfMMac - 无法找到Eigen3

我用这个命令

cmake -DBUILD_DOCUMENTATION=ON -DEIGEN_INCLUDE_DIR=$EIGEN_INCLUDE_DIR .. 

在哪里设置EIGEN_INCLUDE_DIR=/usr/local/Cellar/eigen/3.2.9/include/建立它。这是我电脑中Eigen的路径。

但我得到这个错误:

CMake Error at cmake/FindEigen.cmake:77 (message): 
    Failed to find Eigen - Could not find file: 
    /usr/local/Cellar/eigen/3.2.9/include/Eigen/src/Core/util/Macros.h 
    containing version information in Eigen install located at: 
    /usr/local/Cellar/eigen/3.2.9/include. 
Call Stack (most recent call first): 
    cmake/FindEigen.cmake:123 (eigen_report_not_found) 
    CMakeLists.txt:108 (find_package) 

我想这是微不足道的,但我已经尝试过搜索,但不能真正理解这个问题。我真的很陌生,所以,任何帮助将非常感激。

回答

1

根据您的错误信息,您的程序无法找到dir“Eigen”的位置。我想这是在

/usr/local/Cellar/eigen/3.2.9/ 

你看,如果真的有一个子目录“包括”在上述路径?官方源代码没有这个子目录。


所以现在你发现DIR Eigen

/usr/local/Cellar/eigen/3.2.9/include/eigen3 

至于版本问题,你可以去征的网站并下载所需的版本。

http://eigen.tuxfamily.org/index.php?title=Main_Page

+0

好的。解决了这个问题。它应该是'EIGEN_INCLUDE_DIR =/usr/local/Cellar/eigen/3.2.9/include/eigen3'。但得到了新的错误 '未能找到Ceres - 发现Eigen依赖,但Eigen发现的版本(3.2.9)与Eigen的版本并不完全匹配(3.2.8)。'和'CMake Error at的CMakeLists.txt:152(find_package): 发现包配置文件: /usr/local/share/Ceres/CeresConfig.cmake 但其设置Ceres_FOUND到FALSE' – Hilman

+0

我酝酿这一点,所以,真的有种不知所措与所有这一切。 – Hilman

+0

您可以从官方网站下载v3.2.8。 – kangshiyin