我正在尝试安装 OpenCV,但是当我尝试使用 CMake 进行编译时,我总是会收到问题中所述的错误,通常在 4% - 6% 左右。
[ 6%] Building CXX object modules/core/CMakeFiles
/opencv_test_core_pch_dephelp.dir/opencv_test_core_pch_dephelp.cxx.o
In file included from /home/joey/opencv/opencv/opencv/modules/core/test/test_precomp.hpp:12:0,
from /home/joey/opencv/opencv/build/modules/core/opencv_test_core_pch_dephelp.cxx:1:
/home/joey/opencv/opencv/opencv/modules/core/include/opencv2/core/private.hpp:66:12: fatal error: Eigen/Core: No such file or directory
# include <Eigen/Core>
^~~~~~~~~~~~
compilation terminated.
modules/core/CMakeFiles/opencv_test_core_pch_dephelp.dir/build.make:62: recipe for target 'modules/core/CMakeFiles/opencv_test_core_pch_dephelp.dir/opencv_test_core_pch_dephelp.cxx.o' failed
make[2]: *** [modules/core/CMakeFiles/opencv_test_core_pch_dephelp.dir/opencv_test_core_pch_dephelp.cxx.o] Error 1
CMakeFiles/Makefile2:1229: recipe for target 'modules/core/CMakeFiles/opencv_test_core_pch_dephelp.dir/all' failed
make[1]: *** [modules/core/CMakeFiles/opencv_test_core_pch_dephelp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
因此,在谷歌搜索之后,我决定只需要更改 CMake 用于 Eigen 的位置。使用 cmake-gui,我根据类似问题的答案建议将 Eigen3_DIR 从 /usr/lib/cmake/eigen3 更改为 /usr/include/eigen3(不完全相似;他们只是建议更改路径并给出后一条路径)。当我点击配置或尝试生成时出现问题:CMake 将条目恢复为前者。我试着查看一些 CMake 文件(CMakeCache.txt、CMakeLists.txt),但我真的不知道我在看什么所以我想我会问比我更有知识的人。我也查看了这两个路径,在这两种情况下都存在所需的文件——eigen3/Eigen/(头文件)和 eigen3/(cmake 配置文件)。
我正在运行 Ubuntu 18.04。我试过在两个目录中安装:一次在 ~/opencv 中,另一个在 /mnt/Linux/opencv 中。在每次编译尝试中,我都会删除构建文件并重建 OpenCV。两者都产生了相同的结果。我也试过删除并重新克隆源代码,从头开始几次都无济于事。
这是怎么回事?我是不是缺少设置,甚至是在关注问题?任何帮助将不胜感激,指导或馈赠。