因爲我在Nvidia forums沒有得到任何幫助(看我的帖子底部的線程),似乎我不是唯一一個struggeling類似的問題,我會試試這裏。CUDA 4.0與Visual Studio 2010 CL編譯器錯誤
我試着編譯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 64位,VS2010 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目標時做了哪些更改?公平的你不是唯一的,但許多人從未在同一個平臺(包括我)看過這個,所以只是想獲得更多的信息。 – Tom
Win32構建也不起作用。對於64位版本,我剛剛在配置屬性(Cuda c/C++ - >目標機器平臺)中添加了(參見Ade Miller的教程)'64 -bit(--machine 64)'。 –