VS2019使用cmake构建cuda应用报错Couldn‘t find CUDA library root

在Windows10上使用VS2019的CMake构建CUDA11.7项目时遇到找不到CUDAlibraryroot的错误。尝试修改环境变量、设置CMAKE_CUDA_COMPILER_TOOLKIT_ROOT未成功。最终解决方案是安装最新版CMake,然后在CMakeSettings.json中指定高版本CMake路径,避免VisualStudio内置的CMake版本问题。
摘要由CSDN通过智能技术生成

问题描述

在使用VS2019的cmake构建cuda项目时,遇到了Couldn't find CUDA library root的错误。但直接创建msbuild的cuda runtime项目则可以成功运行。

系统和版本号

系统:windows 10
visual studio:2019 16.11.26
visual studio附带cmake:3.20
cuda:11.7

尝试方案

  1. 添加/修改环境变量中关于CUDA的部分【无效】
  2. 使用SET指令设置CMAKE_CUDA_COMPILER_TOOLKIT_ROOT为CUDA的安装路径【无效】
  3. 修改CMakeSetting.json,加上-DCMAKE_CUDA_COMPILER_TOOLKIT_ROOT或直接在CMake变量和缓存中添加CMAKE_CUDA_COMPILER_TOOLKIT_ROOT【无效】

问题解决

在cmake的官方仓库中找到一个issue:Enabling CUDA fails in the presence of certain environment variables,发现了一些问题,但是修复在cmake-3.20.3中完成的,而visual studio无法单独更新cmake的版本。
于是可以在安装最新版的cmake,然后从CMakeSetting.json的高级设置中将CMake可执行文件设置为自己新安装的高版本cmake,路径为安装路径下的bin/cmake.exe
现在生成缓存时就不会报Couldn't find CUDA library root了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值