CUDA opencv 构建失败 - 缺少实际存在的文件

Posted

技术标签:

【中文标题】CUDA opencv 构建失败 - 缺少实际存在的文件【英文标题】:CUDA opencv building fails - missing file that is actually there 【发布时间】:2018-08-14 08:42:54 【问题描述】:

我正在尝试做以下事情:开始工作

CUDA 9.1 与 openCV 3.4.2 和 Visual Studio Enterprise 2015 (v 14.0 Update 3) 开启 Windows 7 Enterprise x64 SP 1 使用 CMake 3.12.0

并且还在寻找有同样问题的其他人 - 那里没有成功。

我已经通过this tutorial 让软件协同工作。我不打算使用英特尔 MKL 和 TBB。

我成功了

安装 CUDA 使用 CMake 为 openCV 生成 Makefile,并且包含 CUDA 库而没有任何错误(除非下载可选内容,因为我正在使用的 PC 是为了远离互联网) 为在 Visual Studio 中构建 openCV 生成 .sln 解决方案文件

问题在下一步 - 构建 openCV。 编译器在尝试构建opencv_world时声称“opencv2/opencv_modules.hpp”不能被gpu_mat_cu打开。问题是包含路径根据 Visual Studio 工作 - 它在 gpu_mat.cu 中检测到正确的文件。项目(opencv_world)在其包含路径中有正确的目录作为静态路径。

我是 Visual Studio 的新手(我之前在 Linux 中使用 QT、CUDA 和 openCV 工作过),所以我不太确定我是否错过了一些我应该更改的设置。 opencv_world.hpp 只包含#define 指令。我曾尝试删除 opencv_world.hpp 的包含,而只是在 gpu_mat.cu 本身中定义参数,但如果我这样做了,下一个包含(同样,VS 找到没有问题的路径)将无法解决。 我想我缺少一些明显的东西,但我似乎无法解决这个问题,所以提前感谢您的帮助。

Cr4sh

P.S.:CMake 想要为 openCV 下载并失败的文件(显然;没有互联网连接)是:opencv_ffmpeg.dll、opencv_ffmped64.dll、ffmpeg_version.cmake、ippicv_2017u3_win_intel64_general_20180518.zip、res10_300x300_ssd_iter_140000_fp16.ca p>

我会在剧透标签中添加 CMakeCache.txt 文件,但它的字符太多。如果您认为这有帮助,请告诉我,我会上传到某个地方。

【问题讨论】:

【参考方案1】:

我得到了解决方案,以防万一有人遇到同样的问题:这是每个人都知道的最简单的事情,直到他们不知道 - 我的包含路径包含一个空格 显然某处被视为字符串分隔符,用于解释该路径。

【讨论】:

以上是关于CUDA opencv 构建失败 - 缺少实际存在的文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上使用 CUDA、TBB、MKL、VTK 构建 OpenCV

使用 OpenCV3.4.5 在 Qt5 中与 Cuda 相关的编译错误

getCudaEnabledDeviceCount() 返回 -1:使用 vcpkg 构建的 OpenCV [cuda]

使用 Cuda 10.2 构建 OpenCV 2.4xx 时出错

无法在 RHEL 7 上使用 CUDA 构建 OpenCV

成功构建后,带有 Cuda 的 Python OpenCV 无法正常工作