Windows11 visual studio2019 cuda11.8 RTX4070TI 编译darknet遇到的问题
11个报错,形式都是如下
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 MSB3721 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc.exe" -gencode=arch=compute_89,code="sm_89,compute_89" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64" -x cu -ID:\OpenCV\OpenCV3.4.16\build\include -I....\include -I....\3rdparty\stb\include -I....\3rdparty\pthreads\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -DOPENCV -DCUDNN_HALF -DCUDNN -D_TIMESPEC_DEFINED -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_CRT_RAND_S -DGPU -DWIN32 -D_CONSOLE -D_LIB -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Fdx64\Release\vc140.pdb /FS /MD " -o D:\darknet-master\build\darknet\x64\Release\convolutional_kernels.cu.obj "D:\darknet-master\src\convolutional_kernels.cu"”已退出,返回代码为 1。 darknet C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 11.8.targets 785
输出窗口的错误:
1>D:\darknet-master\build\darknet>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc.exe" -gencode=arch=compute_89,code="sm_89,compute_89" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64" -x cu -ID:\OpenCV\OpenCV3.4.16\build\include -I....\include -I....\3rdparty\stb\include -I....\3rdparty\pthreads\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -DOPENCV -DCUDNN_HALF -DCUDNN -D_TIMESPEC_DEFINED -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_CRT_RAND_S -DGPU -DWIN32 -D_CONSOLE -D_LIB -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Fdx64\Release\vc140.pdb /FS /MD " -o D:\darknet-master\build\darknet\x64\Release\maxpool_layer_kernels.cu.obj "D:\darknet-master\src\maxpool_layer_kernels.cu"
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 11.8.targets(785,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc.exe" -gencode=arch=compute_89,code="sm_89,compute_89" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64" -x cu -ID:\OpenCV\OpenCV3.4.16\build\include -I....\include -I....\3rdparty\stb\include -I....\3rdparty\pthreads\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -DOPENCV -DCUDNN_HALF -DCUDNN -D_TIMESPEC_DEFINED -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_CRT_RAND_S -DGPU -DWIN32 -D_CONSOLE -D_LIB -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Fdx64\Release\vc140.pdb /FS /MD " -o D:\darknet-master\build\darknet\x64\Release\convolutional_kernels.cu.obj "D:\darknet-master\src\convolutional_kernels.cu"”已退出,返回代码为 1。
1>已完成生成项目“darknet.vcxproj”的操作 - 失败。
一开始是用的vs2022,前面的nvcc报错我就换的2019,还是这样,编译的release版本,OpenCV是官网下的3.4.16;cuda cudnn都装好了的。
找了好久的问题,device的算力那里改了,电脑里也没有中文路径,各种重装也都试了,还是这样报错。求解答。
【以下回答由 GPT 生成】
首先,根据错误信息可以看出这个问题是由于使用的CUDA版本不兼容而导致的编译错误。解决该问题的方法是更新CUDA版本或者修改编译选项。
下面是具体的解决步骤:
shell nvcc --version
确认CUDA版本后,查看darknet的文档或者github页面,确认该版本的darknet是否兼容你的CUDA版本。
-ccbin
选项,该选项指定了使用的编译器版本。这里指定的是Visual Studio 14.0的编译器版本,可能不兼容你当前使用的Visual Studio 2019版本。可以尝试将-ccbin
选项的路径修改为你当前使用的Visual Studio 2019的路径。具体步骤如下:
.cu
文件。.cu
文件中对应的编译命令,该命令通常以nvcc
开头。修改命令中的-ccbin
选项的路径为你当前使用的Visual Studio 2019的路径,例如:
shell -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.2.XXXXX\bin\HostX64\x64"
注意替换为你实际的Visual Studio 2019的路径。
如果上述方法无效,尝试更新CUDA版本。前往NVIDIA官方网站下载并安装最新的CUDA版本。
如果问题仍然存在,可以尝试寻求darknet的开发者或社区的帮助。在darknet的GitHub页面或者相关论坛上寻求帮助,并将你的问题描述、报错信息以及已经尝试过的解决方法一并列出,以便他们更好地帮助你解决问题。
如果你需要进一步的帮助,请告知我。