OpenCV / Eigen3的编译失败

时间:2015-11-12 14:31:02

标签: c++ opencv compilation eigen

我想使用OpenCV,但我无法编译它,我认为这是因为Eigen。

当我使用Cmake命令时,发现了Eigen:

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

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

然后,一旦Cmake完成,我就

  

make -j4

64%我有以下错误:

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

非常感谢你!

编辑:这里是命令行ccmake的输出 Output of the command line ccmake

1 个答案:

答案 0 :(得分:1)

  • 使用cmake-gui
  • 设置OpenCV源代码和构建目录
  • 配置
  • 在“搜索”框中,键入" eigen"
  • 激活" WITH_EIGEN"标志
  • 再次配置
  • 变量" EIGEN_INCLUDE_PATH"应该出现:点击那里并浏览到"包含"你的特征库的子目录。 enter image description here Eigen是一个仅限标题的库,因此您无需安装/构建它:只需download a package(请参阅"获取它"页面右侧的部分)并解压缩它为了构建OpenCV。

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