Visual Studio 2022中配置cuda环境

一、前置条件(必须先完成)

在配置VS2022前,你需要先安装好以下软件,否则配置会失败:

  1. NVIDIA显卡驱动 :确保你的电脑有NVIDIA独立显卡,且安装了最新/兼容的显卡驱动(可通过NVIDIA控制面板或官网下载)。
  2. CUDA Toolkit :下载并安装与VS2022兼容的CUDA Toolkit(推荐11.7及以上版本,VS2022对低版本CUDA支持不佳),下载地址:NVIDIA CUDA Toolkit官网
    • 安装时保持默认路径即可(默认路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X,X.X是版本号,比如12.2)。
  3. VS2022组件:确保安装了"桌面开发用C++"工作负载(创建项目时若提示缺失,可在VS Installer中补充安装)。

二、VS2022项目配置步骤

步骤1:创建空项目
  1. 打开VS2022,点击"创建新项目",选择"空项目"(C++模板),命名(比如CUDA_Driver_Test),选择保存路径,点击"创建"。
  2. 右键项目 -> 添加 -> 新建项,选择"C++文件(.cpp)",命名为main.cpp,将你提供的代码粘贴进去。
步骤2:核心属性配置(关键)

右键项目 -> 属性(注意:顶部"配置"选"Debug","平台"选"x64",CUDA驱动API仅支持64位),按以下路径配置:

1. 配置包含目录(让VS找到cuda.h)
  • 路径:配置属性 -> C/C++ -> 常规 -> 附加包含目录

  • 点击右侧下拉箭头 -> 编辑,添加CUDA Toolkit的include路径:

    复制代码
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\include

    (替换vX.X为你的CUDA版本,比如v12.2

2. 配置库目录(让VS找到cuda.lib)
  • 路径:配置属性 -> 链接器 -> 常规 -> 附加库目录

  • 点击编辑,添加CUDA Toolkit的lib路径:

    复制代码
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\lib\x64
3. 配置链接依赖(链接cuda.lib)
  • 路径:配置属性 -> 链接器 -> 输入 -> 附加依赖项

  • 点击编辑,添加:

    复制代码
    cuda.lib
4. (可选)配置运行时环境(防止找不到dll)
  • 路径:配置属性 -> 调试 -> 环境

  • 输入:

    复制代码
    PATH=%PATH%;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\bin\x64

    (作用:运行时让程序找到cuda64_X.X.dll

步骤3:编译运行
c 复制代码
// CUDA驱动头文件cuda.h
#include <cuda.h>

#include <stdio.h>
#include <string.h>

// 很明显,这种代码封装方式,更加的便于使用
//宏定义 #define <宏名>(<参数表>) <宏体>
#define checkDriver(op)  __check_cuda_driver((op), #op, __FILE__, __LINE__)

bool __check_cuda_driver(CUresult code, const char* op, const char* file, int line){

    if(code != CUresult::CUDA_SUCCESS){    
        const char* err_name = nullptr;    
        const char* err_message = nullptr;  
        cuGetErrorName(code, &err_name);    
        cuGetErrorString(code, &err_message);   
        printf("%s:%d  %s failed. \n  code = %s, message = %s\n", file, line, op, err_name, err_message);   
        return false;
    }
    return true;
}

int main(){

    // 检查cuda driver的初始化
    // 实际调用的是__check_cuda_driver这个函数
    checkDriver(cuInit(0));

    // 测试获取当前cuda驱动的版本
    int driver_version = 0;
    if(!checkDriver(cuDriverGetVersion(&driver_version))){
        return -1;
    }
    printf("Driver version is %d\n", driver_version);

    // 测试获取当前设备信息
    char device_name[100];
    CUdevice device = 0;
    checkDriver(cuDeviceGetName(device_name, sizeof(device_name), device));
    printf("Device %d name is %s\n", device, device_name);
    return 0;
}
  1. 确认VS顶部的"解决方案平台"是x64(默认可能是x86,需手动切换)。
  2. 点击"本地Windows调试器"(绿色三角按钮),编译并运行。

三、预期运行结果

如果配置正确,控制台会输出类似以下内容:

复制代码
CUDA Driver version is 12020
Device 0 name is NVIDIA GeForce RTX 4090

(版本号和设备名根据你的CUDA驱动、显卡型号不同而变化)

四、常见问题排查

  1. 找不到cuda.h:检查"附加包含目录"路径是否正确,CUDA Toolkit是否安装完整。
  2. 链接错误(LNK1104 找不到cuda.lib) :检查"附加库目录"是否选了x64路径,"附加依赖项"是否加了cuda.lib,平台是否为x64。
  3. cuInit失败(返回错误码)
    • 确认有NVIDIA显卡且驱动正常;
    • 确认CUDA驱动版本与CUDA Toolkit版本兼容(可参考NVIDIA官网的版本兼容表);
    • 若用笔记本,确认切换到了独立显卡(NVIDIA控制面板中设置)。

总结

  1. 核心配置是3个关键路径 :CUDA的include目录、lib/x64目录、链接cuda.lib,且必须选择x64平台。
  2. 前置条件要满足:安装CUDA Toolkit、VS2022的C++工作负载、NVIDIA显卡驱动。
  3. 运行时若提示缺失dll,通过配置"调试-环境"补充PATH路径即可解决。
相关推荐
我不是懒洋洋2 天前
【C++】string(string的成员变量、auto和范围for、string常用接口的说明、OJ题目、string的模拟实现)
c语言·开发语言·c++·visual studio
C++ 老炮儿的技术栈3 天前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
A.零点3 天前
【2个月 C 语言从入门到精通:零基础系统教程】第十二讲:深入了解指针(五)
c语言·开发语言·网络·笔记·visual studio
彷徨而立3 天前
【VS2026】介绍 Visual Studio 几个重要配置项
visual studio
basketball6163 天前
AI Infra 硬件体系与编程模型:17. CUDA编程基础:底层驱动 API 调用
人工智能·microsoft·nvidia·cuda
AndyHuang19763 天前
【避坑指南】Visual Studio 插件报错 “Windows Terminal (wt.exe) was not found in PATH“ 完美解决
ide·windows·visual studio
彷徨而立3 天前
【Visual Studio】msbuild 使用举例
ide·visual studio
blueman88884 天前
VS2022 切换定义(F12 / Go to Definition)反应慢
c++·visual studio
fpcc4 天前
并行编程实战——CUDA编程的pipelines
c++·cuda
周杰伦fans4 天前
记一次 Visual Studio 突然报错“未能加载 Microsoft.Internal.VisualStudio.Interop”的奇葩经历
microsoft·log4j·visual studio