2013-12-08 142 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构建正确!

相关问题