2015-11-12 102 views
1

我想使用OpenCV,但我不能编译它,我认为这是因为Eigen。编译OpenCV/Eigen3失败

当我使用的CMake命令

,艾根发现:

> - 使用本征:(3.2.2版本)

而我只有EIGEN2我的电脑上YES。 (也许这是一个过时的文件,但我不知道它来自哪里)。

然后,一旦CMake的是做我做

make -j4

在64%我有这样以下错误:

/home/sl001093/opencv-2.4.10/modules/contrib/src/rgbdodometry .cpp:65:47:致命错误:不支持/ Eigen/MatrixFunctions:没有这样的文件 编译中止。 化妆[2]:* [模块/的contrib/CMakeFiles/opencv_contrib.dir/SRC/rgbdodometry.cpp.o]错误1 使1:* [模块/的contrib/CMakeFiles/opencv_contrib.dir /所有]错误2 make:*** [all] Erreur 2

非常感谢您提前!

编辑:此命令行ccmake Output of the command line ccmake

回答

1
  • 使用cmake的桂
  • 集的OpenCV源,并建立目录的输出
  • 配置
  • 在搜索框中,键入“征“
  • 激活”WITH_EIGEN“标志
  • 再次配置
  • 应该出现一个变量“EIGEN_INCLUDE_PATH”:点击那里并浏览到你的Eigen库的“include”子目录。 Eigen是一个仅包含头文件的库,因此您不需要安装/构建它:只需download a package(请参阅页面右侧的“获取”一节),并将其解压缩以用于构建OpenCV。

顺便说一句,为什么你已经使用OpenCV 2.4时OpenCV 3 available?可能是因为OpenCV 2.4与最新版本的Eigen不兼容,但我知道它与version 3.2.2兼容。

+0

谢谢你的回答。你怎么用Ubuntu做cmake gui。我试着用ccmake,但没有找到EIGEN_INCLUDE_PATH。 顺便说一下,我使用了一个选项来通过构建OpenCV去激活特征...这是我找到的解决方案,但是很可惜。在我从未遇到过这种问题之前。如果需要,我会在网站上下载Eigen。谢谢 ! – lilouch

+0

@lilouch我不使用ccmake,你能在那里看到'WITH_EIGEN'变量吗?无论如何,对于cmake-gui,可以从命令行尝试'cmake-gui',或者尝试[本指南](http://askubuntu.com/questions/355565/how-to-install-latest-cmake-version-in -linux-ubuntu-from -command-line/595441#595441)获取cmake的最新版本,并将'cmake'和'cmake-gui'放入你的路径。 – Antonio

+0

是的,我可以关闭它!因此,在使用ON时,我将WITH_EIGEN变量更改为OFF。 – lilouch