致命错误:opencv2/core.hpp:没有此类文件或目录编译在 opencv4 中终止

Posted

技术标签:

【中文标题】致命错误:opencv2/core.hpp:没有此类文件或目录编译在 opencv4 中终止【英文标题】:fatal error: opencv2/core.hpp: No such file or directory compilation terminated in opencv4 【发布时间】:2019-03-01 13:31:32 【问题描述】:

在 opencv4 中编译代码时出现此错误:

fatal error: opencv2/core.hpp: No such file or directory
compilation terminated.

我正确安装了opencv4。 为什么我会收到错误消息?

【问题讨论】:

我的猜测是你安装了opencv4,而源代码显然期望被opencv2编译。这几乎就是错误消息所说的内容,不是吗? /usr/local/include/opencv4/opencv2/videoio.hpp:46:28: 致命错误:opencv2/core.hpp: 没有这样的文件或目录 IOTSource/subdir.mk:18: 配方对于目标 'IOTSource/main.o' 失败的编译终止。 make: *** [IOTSource/main.o] 错误 1 上一个是进来的错误 【参考方案1】:

尝试为 OpenCV2 安装 -dev-devel 包以获取头文件。

sudo apt-get install libopencv-core-dev 在 Debian 和 Ubuntu 上,sudo yum install opencv-devel 在 Fedora 上。

完成后,将$(pkg-config --cflags opencv) 附加到您的编译器命令:

export CC="gcc $(pkg-config --cflags opencv)"

【讨论】:

【参考方案2】:

我知道已经晚了,但在这里发布以供将来参考。

如果您将 OpenCv for Node.js 与 npm 包 opencv4nodejs 一起使用,而后者又依赖于 node-gyp,则当包安装路径包含空格时会出现此错误。众所周知,node-gyp 不能很好地处理空格。

所以,理想情况下,路径不应该是这样的 C:\Program Files\some_dir

尝试将软件包安装在没有任何空格的路径中,它应该可以工作。

【讨论】:

以上是关于致命错误:opencv2/core.hpp:没有此类文件或目录编译在 opencv4 中终止的主要内容,如果未能解决你的问题,请参考以下文章

实验5.1

opencv3.3 CUDA 初学实例

OpenCV尝试加载卸载的Cuda dll

图像处理 模板匹配

ROM 装甲板识别 蓝色车识别

opencv4 鼠标事件 鼠标画线条