windows - nvcc 致命 : Compiler 'cl.exe' in PATH different than the one specified with -ccbin

标签 windows visual-studio-2013 cuda

我已在 Windows 7-SP1 上安装了 CUDA 7.5,并且使用的是 Visual Studio 2013。 不幸的是,我无法运行任何 CUDA 代码。我什至无法构建示例带宽测试。我收到以下错误:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\1_Utilities\bandwidthTest>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin\nvcc.exe" -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\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --use-local-env --cl-version 2013 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64" -I./ -I../../common/inc -I./ -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5/include" -I../../common/inc -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -Xcompiler "/wd 4819" -DWIN32 -DWIN32 -D_MBCS -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MT " -o x64/Release/bandwidthTest.cu.obj "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\1_Utilities\bandwidthTest\bandwidthTest.cu" 1> nvcc fatal : Compiler 'cl.exe' in PATH different than the one specified with -ccbin 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 7.5.targets(604,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin\nvcc.exe" -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\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --use-local-env --cl-version 2013 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64" -I./ -I../../common/inc -I./ -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5/include" -I../../common/inc -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -Xcompiler "/wd 4819" -DWIN32 -DWIN32 -D_MBCS -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MT " -o x64/Release/bandwidthTest.cu.obj "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\1_Utilities\bandwidthTest\bandwidthTest.cu"" exited with code 1. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我的环境变量是:

路径:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE;C:\TDM-GCC-64\bin;C:\TDM-GCC-64\x86_64-w64-mingw32;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\libnvvp;c:\Program Files (x86)\Intel\iCLS Client\;c:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Hewlett-Packard\HP Performance Advisor;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files\R\R-3.1.3\bin\i386\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common

CUDA_PATH:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5

CUDA_PATH_V7_5:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5

我也变了

INCLUDES += "-I$(TOP)/include" $(SPACE)

INCLUDES += "-I$(TOP)/include" "-I$(TOP)/include/cudart" "-IC:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/include" $(SPACE)

nvcc.profile中。

但到目前为止还没有运气! :( 请你帮助我好吗?! 谢谢

最佳答案

问题

Visual Studio 编译器有以下三个版本:针对 x86、针对 x86_64 和 ARM 平台(我听说第四个版本即将推出)。

问题很可能是由于您正在编译的平台与 PATH 中的编译器平台不同。

解决方案

您的全局 PATH 变量中绝对不应该有 Visual Studio 的 bin 文件夹。

PATH 中删除与 Visual Studio 相关的所有内容。 Visual Studio IDE 和 CUDA 工具足够智能,无需您的帮助(通过注册表项)即可找到编译器。

如果您想同时从命令行(不使用 IDE)运行开发人员工具,请使用:

  • “开始”菜单中的 Visual Studio 命令提示符(使用 vcvarsall.bat 脚本)
  • 或直接使用vcvarsall.bat(它临时设置针对作为参数给出的平台进行构建的环境)
  • 或推出您自己的脚本

关于windows - nvcc 致命 : Compiler 'cl.exe' in PATH different than the one specified with -ccbin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33622952/

相关文章:

php - xdebug php 5.4 窗口

windows - 使用 Strawberry Perl 安装模块

azure - 由于发生套接字错误 (10054) 而重试同步 - Azure

visual-studio - Visual Studio 2013搜索解决方案资源管理器无法找到文件

c++ - 访问默认 lambda 参数中的模板类参数

pointers - CUDA:__restrict__ 标签使用

mysql - UTF8 在翻译中丢失,HTML 格式从/到 mysql

c - MSDN 示例中 SetEntriesInAcl 错误 87 的原因

cuda - 在 CUDA 中写入全局内存

c - 如何创建 CUDA makefile 以便在 CPU 中执行以测试 CPU FLOP?