【问题标题】:Cuda 4.0 with Visual Studio 2010 cl compiler error带有 Visual Studio 2010 cl 编译器错误的 Cuda 4.0
【发布时间】:2013-05-26 21:42:32
【问题描述】:

由于我在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 Prof SP1 和以下 nvidia 版本: cudatoolkit_4.0.17_win_64 devdriver_4.0_winvista-win7_64_270.81_general gpucomputingsdk_4.0.19_win_64

非常感谢您的帮助!

【问题讨论】:

  • win32 目标构建是否正常?添加 x64 目标时,您做了哪些更改?公平地说,你不是唯一一个,但许多其他人从未在同一个平台上看到过这个(包括我),所以只是想获得更多信息。
  • Win32 构建也不起作用。对于我刚刚在配置属性(Cuda c/c++ -> 目标机器平台)中添加的 64 位版本(参见 Ade Miller 的教程)'64-bit (--machine 64)'。

标签: visual-studio-2010 cuda


【解决方案1】:

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

【讨论】:

  • 正如我所说,我在尝试编译 SDK 示例时遇到了同样的错误。一开始,我完全按照我在以下位置找到的“入门”指南:C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\doc\CUDA_C_Getting_Started_Windows.pdf。在“编译其中一个 SDK 示例”阶段,我遇到了上面报告的错误。
  • 实际上,即使我从 cmd 编译时也会出现此错误,但在 vs2010 中可以正常工作。您是否考虑过重新安装 sdk 和工具包?
【解决方案2】:

我遇到了类似的问题。之前我在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin 中复制了cl.exe 以使用nvcc.exe 测试几个参数,然后忘记从该目录中删除该文件。我删除了这个文件,一切正常。 PATH 对于我的问题的目的实际上是针对这条路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin 而不是环境变量中的PATH

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 2011-04-28
    • 2015-06-30
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多