我正在尝试通过命令提示符在Windows 7上编译cuda测试程序, 我是这个命令:
nvcc test.cu
但我得到的只是这个错误:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
可能导致此错误的原因是什么?
答案 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的可变参数模板。)