2013-12-08 189 views
-1

我正試圖通過這些說明在我的Mac Air(與Lion)上安裝opencv2。爲什麼我無法安裝python opencv2?

http://www.guidefreitas.com/installing-opencv-2-4-2-on-mac-osx-mountain-lion-with-python-support

我已經成功地進行了用opencv2

make j8 

但是,運行sudo make install產生一個奇數錯誤注意到numext是如何不限定。

[ 63%] Building CXX object modules/contrib/CMakeFiles/opencv_contrib.dir/src/rgbdodometry.cpp.o 
In file included from /Users/davidfaux/Downloads/opencv-2.4.7/modules/contrib/src/rgbdodometry.cpp:65: 
In file included from /usr/local/include/unsupported/Eigen/MatrixFunctions:61: 
/usr/local/include/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h:119:41: error: 
     use of undeclared identifier 'numext' 
    result(0,1) = A(0,1) * (Scalar(2) * numext::atanh2(y,x) + ... 
             ^
In file included from /Users/davidfaux/Downloads/opencv-2.4.7/modules/contrib/src/rgbdodometry.cpp:65: 
In file included from /usr/local/include/unsupported/Eigen/MatrixFunctions:62: 
/usr/local/include/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h:242:36: error: 
     use of undeclared identifier 'numext' 
    int unwindingNumber = std::ceil((numext::imag(logCurr - logPrev) - M_PI) ... 
          ^

這個錯誤是什麼意思?我覺得它與Eigen庫有關。我試圖重建Eigen庫。反過來,這又產生了涉及glew,glut和OpenGL的另一個錯誤。感覺就像是一個兔子洞。

有沒有人知道Eigen庫中的錯誤來自哪裏?

回答

2

看來你在混合兩個不同版本的Eigen。而且,讓我再次回想一下,Eigen不需要編譯。

+0

謝謝!我想你是正確的。我最近升級了Eigen,並在我的路徑中找到了兩個版本。我刪除了兩個並重新安裝了Eigen。這解決了問題。 – dangerChihuahua007

2

我實際的解決方案是創建符號鏈接eigen3,如:

$ ln -s /usr/local/include/eigen3/unsupported /usr/local/include/ 
+0

不錯!使用vcglib(在內部發布Eigen版本,這可能與系統版本不同)也會發生此錯誤。 – thiagowfx

2

這是推動我瘋了......但最終它只是一個:

brew install eigen 

而且opencv構建正確!

相關問題