【发布时间】: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)'。