安装 libeigen3-dev 包后如何在 C++ 库中包含 Eigen

How to include Eigen in C++ library after installing libeigen3-dev package

我正在尝试使用 cmake 从源代码(主分支)构建 OpenCV

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

sudo apt-get install libeigen3-dev

安装成功,cmake打印eigen 3.3.4已安装

Eigen: YES(ver 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.

我在超级用户上找到了 same question

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

在我注释掉第46-48行和第59行之后, 并将第 44 行中的 find_package(Eigen3 QUIET) 更改为 find_package(Eigen3 3.0.0),它起作用了。

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

当我安装 OpenCV 3.4.6 版本(github 上标记 3.4.6)时,没有出现此问题。