我正在尝试做以下事情:开始工作
- CUDA 9.1 与
- openCV 3.4.2 和
- Visual Studio Enterprise 2015(v 14.0 更新 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 时,gpu_mat_cu 无法打开“opencv2/opencv_modules.hpp”。问题是包含路径根据 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.: The files CMake wanted to download for openCV and failed at (obviously; no internet connection) are: opencv_ffmpeg.dll, opencv_ffmped64.dll, ffmpeg_version.cmake, ippicv_2017u3_win_intel64_general_20180518.zip, res10_300x300_ssd_iter_140000_fp16.caffemodel and opencv_face_detector_uint8.pb
我会在剧透标签中添加 CMakeCache.txt 文件,但它的字符太多。如果您认为它有帮助,请告诉我,我会把它上传到某个地方。
最佳答案
我得到了解决方案,以防万一有人遇到同样的问题:这是每个人都知道的最简单的事情,直到他们不知道 - 我的包含路径包含一个空格 显然某处被视为解释该路径的字符串分隔符。
关于c++ - CUDA opencv 构建失败 - 缺少实际存在的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51837258/