2016-07-27 286 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