0

每当我尝试使用 VisualStudio 2010 和 CUDA 5.0 在 Windows 7(64 位)上编译 CUDA 程序(甚至是示例)时,我都会收到以下错误消息并且 nvcc 崩溃:

1>------ Erstellen gestartet: Projekt: vectorAdd, Konfiguration: Debug x64 ------
1>  Compiling CUDA source file vectorAdd.cu...
1>  
1>  C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\0_Simple\vectorAdd>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2010 -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64"  -I"../../common/inc" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include"  -G   --keep-dir "x64\Debug" -maxrregcount=0  --machine 64 --compile  -g   -DWIN32 -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MTd  " -o "x64/Debug/vectorAdd.cu.obj" "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\0_Simple\vectorAdd\vectorAdd.cu" 
1>nvcc : fatal error : Failed to open output file 'C:\Users\<MY_USERNAME>\AppData\Local\Temp;"C:\Windows\winsxs"/tmpxft_00001d24_00000000'
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 5.0.targets(592,9): error MSB3721: Der Befehl ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2010 -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64"  -I"../../common/inc" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include"  -G   --keep-dir "x64\Debug" -maxrregcount=0  --machine 64 --compile  -g   -DWIN32 -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MTd  " -o "x64/Debug/vectorAdd.cu.obj" "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\0_Simple\vectorAdd\vectorAdd.cu"" wurde mit Code -1073741819 beendet.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

当我尝试从命令行或使用 VS2008 编译程序时,也会出现此错误。我尝试重新下载并重新安装 CUDA、显示驱动程序和 VisualStudio。Temp 文件夹的权限设置正确。我还测试了这两个线程中提出的解决方案: https://devtalk.nvidia.com/default/topic/503284/?comment=3590464 https://devtalk.nvidia.com/default/topic/406549/?comment= 2860913 不幸的是,这些都不起作用:(

我对 CUDA 相当陌生,所以也许我只是忘记了一个设置,但是主机和设备代码的目标架构都设置为 x64,并且在示例中,无论如何设置都应该是正确的。

如果有人知道这个问题的解决方案,我会很高兴听到它!

亲切的问候, maddin45

编辑:将编译器输出格式化为代码以获得更好的可读性

4

1 回答 1

2

已解决感谢 SO 成员 Robert Crovella 的支持,我能够找到错误。该路径"C:\Windows\winsxs"已添加到我用户的 TEMP 变量的末尾。我删除了它,现在示例编译没有错误。

于 2013-05-22T22:11:02.990 回答