VS+cuda9.0+opencv3.4.0 配置过程中出现的问题解决

时间:2024-04-13 22:31:16

1 MSB732 的错误问题

配置完全部环境后,生成项目报错如下:

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 MSB3721 命令““F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\nvcc.exe” -gencode=arch=compute_30,code=“sm_30,compute_30” -gencode=arch=compute_75,code=“sm_75,compute_75” --use-local-env --cl-version 2015 -ccbin “F:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64” -x cu -I\include -IC:\opencv_3.0\opencv\build\include -I…\include -I…\3rdparty\stb\include -I…\3rdparty\pthreads\include -I"F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include" -I"F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include" -I\include -I\include -I"F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include" -G --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -g -DCUDNN_HALF -DCUDNN -D_CRTDBG_MAP_ALLOC -D_MBCS -D_TIMESPEC_DEFINED -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_CRT_RAND_S -DGPU -DWIN32 -DDEBUG -D_CONSOLE -D_LIB -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MDd " -o x64\Debug\activation_kernels.cu.obj “C:\DarkNet\darknet\darknet-master\src\activation_kernels.cu””已退出,返回代码为 1。 darknet F:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 9.0.targets 707

解决方法:用记事本打开darknet.vcxproj文件,然后找到158行左右,具体行数可能有出入,将那里的改为如下:

VS2017+cuda9.0+opencv3.4.0 配置过程中出现的问题解决

我的电脑是 i7 960m 的显卡所以我定的值是 52,其他电脑可能不一样,但这个值比较通用。
然后保存,再生成一次,若还是报错“MSB732”,则可以把下图的也改了,大概在 107 行左右:
VS2017+cuda9.0+opencv3.4.0 配置过程中出现的问题解决
最后再重载,调试一次应该就可以了。

2 若报错是找不到“cudnn.h”等文件

若你已经该复制的文件复制到应在的文件夹,还是报了这些错误,则可以点击进入属性管理器(进入方法:视图 -> 其他窗口 -> 属性管理器),选择:
VS2017+cuda9.0+opencv3.4.0 配置过程中出现的问题解决
然后在项目 MSVC 属性中,连接器 —> 输入 —> 附加依耐项,加入 cudnn.lib

3 提示无法打开“stdio.h main.h”文件

大概率是这个项目是在高版本的 VS 上运行保存过,在低版本上就没办法兼容。