首页 > 解决方案 > 安装 libeigen3-dev 包后如何在 C++ 库中包含 Eigen

问题描述

我正在尝试使用 cmake 从 Source(主分支)构建OpenCV 。

我通过 apt-get 安装了 Eigen 包。

sudo apt-get install libeigen3-dev

它已成功安装,并且 cmake 打印出 eigen 3.3.4 已安装。

本征:是(版本 3.3.4)

但是当我做'make'时,它显示了错误

/opencv/modules/core/include/opencv2/core/private.hpp:66.12: fatal error: Eigen/Core: No such file or directory
#  include <Eigen/Core>
           ^~~~~~~~~~~~
compilation teminated.

标签: opencveigeneigen3

解决方案


我在超级用户上发现了同样的问题

因此,正如答案所做的那样,我已将 cmake/OpenCVFindLibsPerf.cmake 从第 44 行更改为第 59 行。

在我注释掉第 46-48 和 59 行并将find_package(Eigen3 QUIET)第 44 行更改为find_package(Eigen3 3.0.0)之后,它就可以工作了。

而且这个问题只发生在 OpenCV 4.0 版本上。

当我安装 OpenCV 3.4.6 版本(github 上的标签 3.4.6)时,不会出现此问题。


推荐阅读