我想在Windows 10中使用Cuda 支持为 Visual Studio 2015构建 OpenCV 3.2 。所以,我使用 CMake 配置它(参见配置文件here)。安装Cuda并正确设置路径变量。但是,在构建OpenCV.sln
解决方案(debug,x64)时,我总共得到36个(3个不同的)错误,都是指cuda模块:
C2610 C2535 C2382
每个错误代码(代码,描述,项目文件,行)中的一个示例:
错误C2610' std :: tuple :: tuple(const std :: tuple &)':不是可以默认的特殊成员函数 (编译源文件 C:\ Users \ user \ down \ opencv3.2 \ opencv -src \ modules \ cudawarping \ perf \ perf_warping.cpp)opencv_perf_cudawarping C:\ Program 文件(x86)\ Microsoft Visual Studio 14.0 \ VC \ include \ tuple 607
错误C2535' std :: tuple &放大器;的std ::元组::运算符 =(const std :: tuple &)':已定义或声明的成员函数(编译源代码 文件 C:\ Users \ user \ down \ opencv3.2 \ opencv -src \ modules \ cudawarping \ perf \ perf_warping.cpp)opencv_perf_cudawarping C:\ Program 文件(x86)\ Microsoft Visual Studio 14.0 \ VC \ include \ tuple 756
错误C2382' std :: tuple :: operator =':重新定义;不同的异常规范(编译源文件 C:\ Users \ user \ down \ opencv3.2 \ opencv -src \ modules \ cudawarping \ perf \ perf_warping.cpp)opencv_perf_cudawarping C:\ Users \ user \ down \ opencv3.2 \ opencv-src \ modules \ ts \ include \ opencv2 \ ts \ cuda_perf.hpp 76
修改
这是针对OpenCV 3.2报告的issue。
这是绕过问题的好方法,由ThorbjornSomod (see issue)发布:
我实际上是在我的笔记本电脑和台式机上都可以使用它(GTX960M 和GTX970分别运行OpenCV 3.2和最新版本 Visual Studio 15社区中用于Win10的CUDA 8.0版本!我是什么 确实是启用WITH_CUBLAS以及WITH_CUDA。我也关掉了 BUILD_PERF_TESTS和BUILD_TESTS。配置是使用 Visual Studio 14 2015 C ++编译器。