从命令提示符编译CUDA时出错

时间:2011-11-14 17:49:59

标签: cuda nvidia

我正在尝试通过命令提示符在Windows 7上编译cuda测试程序, 我是这个命令:

nvcc test.cu

但我得到的只是这个错误:

nvcc fatal : Cannot find compiler 'cl.exe' in PATH

可能导致此错误的原因是什么?

6 个答案:

答案 0 :(得分:36)

您需要将包含“cl.exe”文件的文件夹添加到路径环境变量中。例如:

C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

修改:好的,转到我的电脑 - >属性 - >高级系统设置 - >环境变量。在这里查找列表中的“PATH”,并添加上面的路径(或cl.exe的位置)。

答案 1 :(得分:15)

通过将此选项添加到nvcc

解决此问题
nvcc x.cu ...   -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"

例如我的编译器是VS2012。和cl.exe在这个目录中

答案 2 :(得分:3)

cl.exe是Microsoft的C / C ++编译器。所以问题是你没有安装命令行可以找到它的地方。

答案 3 :(得分:2)

对于新的Visual Studio,{= {1}}位于路径=> cl.exe

x64用于64位

x86用于32位

答案 4 :(得分:1)

nvcc只是该计划的CUDA特定部分的前端。它必须调用完整的编译器才能完成作业。在这种情况下,它找不到Visual Studio编译器'cl.exe'

检查路径,nvcc文档等。

答案 5 :(得分:0)

我发现这是一个老问题,但是当我尝试构建我的CUDA项目时,我最近在Visual Studio 2012上出现了此错误。显然我已将我的CUDA项目更改为2012年11月的包,将其更改回v110,它通常默认修复此错误。

在Visual Studio中,左键单击CUDA项目, - > properties-> Configuration Properties->一般 - >平台工具集,然后选择:Visual Studio 2012(v110)。

我可能会使用2012年11月的包,但CUDA代码不使用该包的任何附加功能,因此没有必要。 (该包包含C ++ 11的可变参数模板。)