You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CMake编译AlexeyAB/darknet失败:无法检测到CUDA

CMake无法检测到CUDA(Windows环境下)

环境信息

  • 操作系统:Windows 10
  • CUDA:11.8
  • cuDNN:11.8
  • CMake:3.30
  • Visual Studio:2022
  • Darknet:AlexeyAB版本

问题描述

执行nvcc --version可正常获取CUDA版本信息,但CMake始终无法检测到CUDA。检查项目CMakeLists.txt第118行,未发现CMAKE_CUDA_COMPILER变量定义。已尝试手动添加该环境变量、重装所有相关软件,问题仍未解决。

排查与修复步骤

1. 手动指定CUDA编译器路径

CMake配置时显式指定nvcc路径,避免自动检测失败:

  • 命令行配置:
    cmake -G "Visual Studio 17 2022" -DCMAKE_CUDA_COMPILER="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/bin/nvcc.exe" ..
    
  • CMake GUI配置:
    打开CMake GUI,点击「Add Entry」,添加变量CMAKE_CUDA_COMPILER,类型选择PATH,值设为nvcc.exe的完整安装路径,再点击Configure重新检测。

2. 验证VS与CUDA兼容性

确保Visual Studio 2022已安装**Desktop development with C++**工作负载,以及对应版本的Windows SDK。CUDA 11.8原生支持VS2022,若VS组件不全,会导致CMake无法关联CUDA编译器。

3. 检查环境变量配置

  • 确认系统环境变量PATH中包含CUDA的bin目录(C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/bin),且该路径在其他可能冲突的路径之前。
  • 检查CUDA_PATH环境变量是否正确设置为C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8。

4. 修改CMakeLists.txt强制指定CUDA

在CMakeLists.txt的第118行之前添加以下代码,显式声明CUDA编译器:

set(CMAKE_CUDA_COMPILER "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/bin/nvcc.exe")
enable_language(CUDA)

注意根据实际安装目录调整路径。

5. 清理CMake缓存后重试

删除项目目录下的CMakeCache.txt文件和build文件夹,重新运行CMake配置,避免旧缓存干扰检测逻辑。

内容的提问来源于stack exchange,提问作者Howard Tsao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 06:55:03