目前正在关注Microsoft Windows [http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-microsoft-windows/index.html]的CUDA入门指南;安装CUDA;样本和NSight;我在Visual Studio 2010上;我检查了我的卡,它支持CUDA。我按照教程进行了演示部分...但是我收到以下错误消息:
=============================================== =====================================
1>CudaBuild:
1> Compiling CUDA source file bandwidthTest.cu...
1>
1> C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\1_Utilities\bandwidthTest>"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" -I"./" -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 "Debug" -maxrregcount=0 --machine 32 --compile -g -DWIN32 -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MTd " -o "Win32/Debug/bandwidthTest.cu.obj" "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\1_Utilities\bandwidthTest\bandwidthTest.cu"
1> bandwidthTest.cu
1>C:/ProgramData/NVIDIA Corporation/CUDA Samples/v5.0/1_Utilities/bandwidthTest/bandwidthTest.cu(117): error : identifier "cin" is undefined
1>
1> 1 error detected in the compilation of "C:/Users/James/AppData/Local/Temp/tmpxft_00001654_00000000-14_bandwidthTest.compute_35.cpp1.ii".
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 5.0.targets(592,9): error MSB3721: The command ""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" -I"./" -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 "Debug" -maxrregcount=0 --machine 32 --compile -g -DWIN32 -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MTd " -o "Win32/Debug/bandwidthTest.cu.obj" "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\1_Utilities\bandwidthTest\bandwidthTest.cu"" exited with code 2.
1>
1>Build FAILED.
=============================================== =====================================
我承认cin是iostream的一部分,我在我的代码中验证了它是我的include指令的一部分......
我来自网站开发人员的背景;我很少编程这些类型...
答案 0 :(得分:2)
我假设您已经修改了bandwidthTest.cu文件,这不是vanilla SDK示例(因为快速检查显示默认情况下它不使用cin!)。
您需要使用std::cin
明确说明范围,或者在文件顶部(包括iostream之后)或函数顶部添加using namespace std
或using std::cin
搜索有关命名空间的信息应该提供更多背景信息,例如this tutorial
如果这不是问题,请发布一些代码。
<强>更新强>
从您的评论来看,您真正的问题是如何在VS2010中创建CUDA项目。有关详细信息,请参阅this answer!基本上,您需要在项目中创建.cu
文件,然后告诉Visual Studio如何处理它们(即启用构建自定义)。