【发布时间】:2015-12-22 20:14:00
【问题描述】:
我正在尝试使用以下方法启动并运行 GPU:
- OpenCv 2.4.10
- Visual Studio 2013
- Cuda 工具包 7.5(已测试和运行的 cuda 样本)
- Windows 10 x64
- 配备 NVIDIA GEFORCE GTX 860M 的联想 Y50
我已经用 WITH_CUDA=ON 的 CMake 编译了 OpenCv,然后通过打开 OpenCv.sln 安装了库并构建了 ALLBUILD 和 INSTALL 项目。
将我的项目配置设置为:
-
VC++ 目录
- 包括目录:
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include
- C:\OpenCv\opencv\build\install\include(包含已编译的库)
- C:\OpenCv\opencv\build\include
- 包括目录:
-
链接器-通用-附加库
- C:\OpenCv\opencv\build\x64\vc12\lib
- C:\OpenCv\opencv\build\install\x64\vc12\lib
-
链接器输入附加依赖
- opencv_calib3d2410d.lib
- opencv_contrib2410d.lib
- opencv_core2410d.lib
- opencv_features2d2410d.lib
- opencv_flann2410d.lib
- opencv_gpu2410d.lib
- opencv_highgui2410d.lib
- opencv_imgproc2410d.lib
- opencv_legacy2410d.lib
- opencv_ml2410d.lib
- opencv_nonfree2410d.lib
- opencv_objdetect2410d.lib
- opencv_ocl2410d.lib
- opencv_photo2410d.lib
- opencv_stitching2410d.lib
- opencv_superres2410d.lib
- opencv_ts2410d.lib
- opencv_video2410d.lib
- opencv_videostab2410d.lib
我的环境变量: 路径= C:\Program Files\NVIDIA GPU Computing;Toolkit\CUDA\v7.5;C:\OpenCv\opencv\build\install\x64\vc12\bin;C:\OpenCv\opencv\build\x64\vc12\垃圾箱
测试代码:
#include "opencv2\opencv.hpp"
#include "opencv2\gpu\gpu.hpp"
using namespace cv::gpu;
using namespace std;
int main() {
{
setDevice(0);
int gpu = getCudaEnabledDeviceCount();
cout << gpu ;
system("pause");
return 0;
}
}in
但是 setDevice 会抛出
不支持 GPU(该库在不支持 CUDA 的情况下编译)在 EmptyDeviceInfoFuncTable::setDevice, 文件 c:\builds\2_4_PackSlave-win64-vc12-shared\opencv\dynamicuda\include\opencv2/dynamiccuda/dynamicuda.hpp。 第 84 行
如果我注释 setDevice(0) 仍然没有检测到 gpu,getCudaEnabledDeviceCount 返回 0。
【问题讨论】:
标签: c++ opencv visual-studio-2013 windows-10