我想通过命令提示符编译在Windows 7 CUDA测试程序, 我是这个命令:错误从命令编译CUDA提示
nvcc test.cu
但我得到的是这样的错误:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
什么可能导致此错误?
我想通过命令提示符编译在Windows 7 CUDA测试程序, 我是这个命令:错误从命令编译CUDA提示
nvcc test.cu
但我得到的是这样的错误:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
什么可能导致此错误?
您需要包含“cl.exe时”文件的文件夹添加到PATH环境变量。例如:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
编辑:好了,打开我的电脑 - >属性 - >高级系统设置 - >环境变量。这里查找列表中的“PATH”,并添加上面的路径(或者cl.exe的位置)。
cl.exe
是微软的C/C++编译器。所以问题是你没有安装在命令行可以找到它的地方。
nvcc只是CUDA特定部分程序的前端。它必须调用一个完整的编译器来完成这项工作。在这种情况下,它无法找到在Visual Studio编译器“cl.exe时”
检查路径,NVCC文档等
我看到这是一个老问题,但是当我尝试构建我的CUDA项目时,最近在Visual Studio 2012中出现了此错误。很明显,我已将CUDA项目更改为2012年11月的版本,将其更改回v110,通常默认情况下会修复此错误。
在Visual Studio中,左键单击CUDA项目 - >属性 - >配置属性 - >常规 - >平台工具集,然后选择:Visual Studio 2012(v110)。
我大概可以将它与2012年11月的包一起使用,但CUDA代码不使用该包的任何附加功能,因此没有必要。 (这包包含可变参数模板的C++ 11)
加入这个选项解决这个问题NVCC
nvcc x.cu ... -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"
例如我的编译器是VS2012。和cl.exe是在这个目录中
你能澄清你的意思吗?“编辑此问题”? – skrrgwasme
抱歉,我应该写解决不编辑:D对不起我的英语。 –
将'\ VC \ bin \'文件夹添加到PATH环境变量中对我来说不起作用(Win7)。然而,你的解决方案工作得很好!我正在尝试为MATLAB编译一些代码。谢谢! –
如果在解决此问题后出现另一个错误“无法找到corecrt.h”,请查看https://stackoverflow.com/questions/38290169/cannot-find-corecrt-h- universalcrt-includepath-is-wrong –