Cuda 4.0与Visual Studio 2010 cl编译器错误

时间:2011-08-18 08:04:28

标签: visual-studio-2010 cuda

由于我在Nvidia forums没有得到任何帮助(请参阅帖子底部的帖子),看来我不是唯一一个遇到类似问题的人,我会在这里尝试一下

我尝试编译Cuda SDK 4.0示例以及非常好的tutorial by Ade Miller。但编译“.cu”文件将无法正常工作。

这是编译器调用的(示例性)命令:

"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe" 
-gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env 
--cl-version 2010 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC bin\x86_amd64"  
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include"  -G0  
--keep-dir "x64\Debug" -maxrregcount=0  --machine 64 --compile  -D_NEXUS_DEBUG 
-g    -Xcompiler "/EHsc /nologo /Od /Zi  /MDd " -o "x64\Debug\Hello.cu.obj" 
"D:\Code\CUDA\Test_Cuda_4_0\Test_Cuda_4_0\Hello.cu" 

这是我一直得到的奇怪的错误信息。

nvcc fatal   : Compiler 'cl' in PATH different than the one specified with -ccbin

编辑:更准确一点:Visual Studio告诉我命令没有成功(“退出代码-1”) - >要看到此错误消息,我必须自己在命令行中调用该命令。

1)为什么nvcc要关心环境变量中的路径与命令行选项指定的路径不同?如果它会关心,这不会使命令行选项完全无用吗?

2)如何修复;)?

我使用Win7 64Bit,VS2010 SP1和以下nvidia版本: cudatoolkit_4.0.17_win_64 devdriver_4.0_winvista-win7_64_270.81_general gpucomputingsdk_4.0.19_win_64

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

尝试使用传统方法开始编写CUDA程序,如“入门指南”(复制样本)中所述。要解决上述问题,您必须将其添加为环境变量。但由于SDK示例已经链接,因此它们不会产生问题。

答案 1 :(得分:0)

我有类似的问题。之前我在cl.exe中复制C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin以使用nvcc.exe测试多个参数,并忘记从此目录中删除此文件。我删除了这个文件,一切都很好。 PATH我的问题的目的实际上是针对此路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin并且在环境变量中不是PATH