【问题标题】:Can't build CUDA Test Application无法构建 CUDA 测试应用程序
【发布时间】:2013-01-16 18:24:57
【问题描述】:

目前正在遵循 Microsoft Windows 的 CUDA 入门指南 [http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-microsoft-windows/index.html];安装了 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 的一部分,我已经验证它是我代码中包含指令的一部分...

我来自网络开发人员的背景;我很少对这些类型进行编程...

【问题讨论】:

    标签: testing build cuda nvidia


    【解决方案1】:

    我假设您已经修改了 bandwidthTest.cu 文件并且这不是 vanilla SDK 示例(因为快速检查显示它默认不使用 cin!)。

    您要么需要使用std::cin 明确声明范围,要么将using namespace stdusing std::cin 添加到文件顶部(包括iostream 之后)或函数顶部。

    搜索有关命名空间的信息应该提供更多背景信息,例如this tutorial.

    如果这不是问题,然后发布一些代码。

    更新

    从您的评论看来,您真正的问题是如何在 VS2010 中创建 CUDA 项目。有关这方面的信息,请参阅this answer!基本上,您需要在项目中创建 .cu 文件,然后告诉 Visual Studio 如何处理它们(即启用构建自定义)。

    【讨论】:

    • 我刚刚注释掉了 cin 行;我真正想做的是创建我自己的 CUDA 项目;我不熟悉VS2010如何处理它。我试图将原始的 bandwidthTest.cu 复制到同一解决方案中的另一个项目中... 1>错误:未找到导入的项目“C:\CUDA 5.0.targets”。确认 声明中的路径正确,并且该文件存在于磁盘上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-16
    • 2011-04-17
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多