我正在尝试构建一个需要CUDA计算的项目,但是每次到达CUDA编译阶段时,我总是遇到错误。 错误如下:
nvcc fatal : Could not set up the environment for Microsoft Visual Studio using 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/../../../../../../../VC/Auxiliary/Build/vcvars64.bat'
这可能是由于自从我使用Visual Studio x64本机工具命令提示符后,就已经在nvcc构建开始之前就已经建立了环境。当我从Visual Studio命令提示符启动vcvars64.bat时,它将引发错误:
%PATH%";C:\Program Files\CMake\bin;C:\Program Files\Git\cmd;C:\opencv\x64\vc15\bin;;C:\Users\grayf\AppData\Local\Microsoft\WindowsApps;C:\Users\grayf\AppData\Local\Programs\Microsoft VS Code\bin;"=="" was unexpected at this time.
从Windows命令启动vcvars64.bat时,错误消失了。好像nvcc第二次启动vcvars64.bat,但是遇到错误,因此无法继续进行编译。
但是我找不到解决方法,因为如果不通过启动vcvars64.bat来设置环境,我将无法编译任何东西,包括一个简单的测试C程序,它甚至都没有达到nvcc编译阶段。有人遇到过同样的问题吗?我很高兴看到您的回答。
答案 0 :(得分:1)
问题出在我的PATH变量在系统变量中。它在某些路径的末尾包含不必要的“ \”符号,以及一个本应为“ C:\ torch \ bin”的条目,看起来像“ C:\ torch \ bin;%PATH%”。 现在问题解决了,nvcc成功设置了环境,并且即使从VS Command Prompt启动vcvars64.bat也不会引发任何错误。