yolov5使用CMake编译成功之后,使用Visual Studio 编译出错:
xxxx CUDA 11.1.targets(785,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\nvcc.exe" -gencode=arch=compute_52,code=\"sm_52,compute_52\" xxxx \yolov5\yololayer.cu"”已退出,返回代码为 1。
1>D:\DevlopmentSoftwares\VisualStudio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 11.1.targets(785,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\nvcc.exe" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --use-local-env -ccbin "D:\DevlopmentSoftwares\VisualStudio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64" -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" -I"E:\Dev\TensorRtx\tensorrtx-master\yolov5\include" -I"E:\Dev\TCTDetect\libs\TensorRT-7.2.3.4\include" -I"E:\Dev\TensorRtx\tensorrtx-master\include" -IE:\Dev\PathoLabel\DepLib\OpenCV\build\include -IE:\Dev\PathoLabel\DepLib\OpenCV\build\include\opencv2 -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -std=c++11 -Xcompiler="/EHsc -Ob2" -D_WINDOWS -DNDEBUG -D"CMAKE_INTDIR=\"Release\"" -DWIN32 -D_WINDOWS -D_MWAITXINTRIN_H_INCLUDED -DNDEBUG -D"CMAKE_INTDIR=\"Release\"" -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Fdyolov5.dir\Release\vc141.pdb /FS /MD /GR" -o yolov5.dir\Release\yololayer.obj "E:\Dev\TensorRtx\tensorrtx-master\yolov5\yololayer.cu"”已退出,返回代码为 1。
1>已完成生成项目“yolov5.vcxproj”的操作 - 失败。
搜索到的常规原因:
-
有中文路径;
-
编译环境不是
Release
和x64
;
参考以上方案,问题未解决。