【问题标题】:Compilation of OpenCV / Eigen3 failOpenCV / Eigen3 编译失败
【发布时间】:2015-11-12 14:31:01
【问题描述】:

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

当我使用 Cmake 命令时,找到了 Eigen:

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

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

然后,一旦 Cmake 完成,我就做

制作-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 make1: * [modules/contrib/CMakeFiles/opencv_contrib.dir/all] 错误2 make: *** [all] Erreur 2

非常感谢您!

编辑:这里是命令行 ccmake 的输出

【问题讨论】:

    标签: c++ opencv compilation eigen


    【解决方案1】:
    • 使用 cmake-gui
    • 设置 OpenCV 源代码和构建目录
    • 配置
    • 在搜索框中,输入“eigen”
    • 激活“WITH_EIGEN”标志
    • 重新配置
    • 应该会出现一个变量“EIGEN_INCLUDE_PATH”:单击此处并浏览到 Eigen 库的“include”子目录。 Eigen 是一个只有标头的库,因此您不需要安装/构建它:只需 download a package(请参阅页面右侧的“获取它”部分)并解压缩它以构建 OpenCV。李>

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

    【讨论】:

    • 感谢您的回答。你如何用 Ubuntu 制作 gui。我尝试使用 ccmake,但没有找到 EIGEN_INCLUDE_PATH。顺便说一句,我使用了一个选项来通过构建 OpenCV 来停用 Eigen ......这是我找到的解决方案,但很遗憾。之前我从来没有遇到过这种问题。我会在网站上下载 Eigen 以备不时之需。谢谢!
    • @lilouch 我不使用 ccmake,你能看到 WITH_EIGEN 变量吗?无论如何,对于 cmake-gui,要么从命令行尝试 cmake-gui,要么尝试 this guide 以获取最新版本的 cmake 并将 cmakecmake-gui 放入您的路径。
    • 是的,我可以关掉它!因此,在使用 ON 时,我将 WITH_EIGEN 变量改为 OFF。
    • @lilouch 如果你想拥有 Eigen,WITH_EIGEN 应该打开。如果 WITH_EIGEN 打开,则应该出现一个变量 EIGEN_INCLUDE_PATH,然后您应该可以设置它。如果没有,我认为您应该将您的问题附加到您的 cmake 输出
    • @lilouch 那么,发生了什么? :)
    猜你喜欢
    • 2014-06-01
    • 2014-06-03
    • 2018-02-20
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2015-06-11
    相关资源
    最近更新 更多