Mr_Lawrence_ 2023-08-06 17:30 采纳率: 0%
浏览 11

Windows平台darknet编译问题

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的算力那里改了,电脑里也没有中文路径,各种重装也都试了,还是这样报错。求解答。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-06 20:07
    关注

    【以下回答由 GPT 生成】

    首先,根据错误信息可以看出这个问题是由于使用的CUDA版本不兼容而导致的编译错误。解决该问题的方法是更新CUDA版本或者修改编译选项。

    下面是具体的解决步骤:

    1. 检查CUDA版本。确认你安装的CUDA版本和你使用的darknet版本是否兼容。可以通过以下命令在命令行界面中查看CUDA版本:

    shell nvcc --version

    确认CUDA版本后,查看darknet的文档或者github页面,确认该版本的darknet是否兼容你的CUDA版本。

    1. 如果CUDA版本兼容,尝试修改编译选项。根据报错信息,可以看到编译命令中包含了-ccbin选项,该选项指定了使用的编译器版本。这里指定的是Visual Studio 14.0的编译器版本,可能不兼容你当前使用的Visual Studio 2019版本。

    可以尝试将-ccbin选项的路径修改为你当前使用的Visual Studio 2019的路径。具体步骤如下:

    • 打开darknet的项目文件夹,找到里面的.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页面或者相关论坛上寻求帮助,并将你的问题描述、报错信息以及已经尝试过的解决方法一并列出,以便他们更好地帮助你解决问题。

    如果你需要进一步的帮助,请告知我。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 8月6日

悬赏问题

  • ¥15 WPF动态创建页面内容
  • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
  • ¥15 SQL数据库操作问题
  • ¥100 关于lm339比较电路出现的问题
  • ¥15 Matlab安装yalmip和cplex功能安装失败
  • ¥15 加装宝马安卓中控改变开机画面
  • ¥15 STK安装问题问问大家,这种情况应该怎么办
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线