【问题标题】:Error compiling CUDA from Command Prompt从命令提示符编译 CUDA 时出错
【发布时间】:2011-12-28 21:02:00
【问题描述】:

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

nvcc test.cu

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

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

什么可能导致这个错误?

【问题讨论】:

标签: cuda nvidia


【解决方案1】:

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

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

编辑:好的,进入我的电脑 -> 属性 -> 高级系统设置 -> 环境变量。在这里在列表中查找“PATH”,然后添加上面的路径(或任何 cl.exe 的位置)。

【讨论】:

  • 好的,但是如何添加呢?我以前在linux上工作,所以我现在不习惯windows的方式......
  • 没关系,我只是通过将 --machine 32 作为参数传递给 nvcc 来摆脱它
  • @Jackalope:您为 cl.exe 获得了哪些路径?它应该是以 \bin 结尾的那个。
  • @Jackalope 尝试在 bin 目录中运行 vcvars.bat。它设置了 cl.exe 使用的一些环境变量。
  • @notgiorgi:变量名是 PATH。只需将 cl.exe 的路径附加到现有值的末尾即可。
【解决方案2】:

对于新的 Visual Studio cl.exe 存在于路径中 => C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx64\x64

x64 适用于 64 位

x86 是 32 位的

【讨论】:

    【解决方案3】:

    通过将这个选项添加到 nvcc 来解决这个问题

    nvcc x.cu ...   -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"
    

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

    【讨论】:

    • 你能解释一下“编辑这个问题”是什么意思吗?
    • 将 `\VC\bin` 文件夹添加到 PATH 环境变量对我不起作用(Win7)。但是,您的解决方案效果很好!我试图为 MATLAB 编译一些代码。谢谢!
    • 兄弟。学习 cuda 工具包以了解所有这些选项和更好的工作。互相帮助和回答是我们的责任。也谢谢你。
    • 或更新的路径:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
    • 在为 x86 构建但 nvcc.exe 不支持给定版本的 cl.exe 时,路径条目和 -ccbin 都无济于事的一种情况(在我的例子中:nvcc.exe来自 CUDA 10.0.130 不会使用来自 VS2015 的 cl.exe 构建 32 位二进制文​​件)
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      nvcc 只是程序中 CUDA 特定部分的前端。它必须调用一个完整的编译器来完成这项工作。在这种情况下,它找不到 Visual Studio 编译器 'cl.exe'

      检查路径、nvcc 文档等

      【讨论】:

        【解决方案6】:

        我看到这是一个老问题,但我最近在尝试构建我的 CUDA 项目时在我的 Visual Studio 2012 上遇到了这个错误。显然我已将我的 CUDA 项目更改为 Nov 2012 包,将其更改回通常默认情况下的 v110 修复了此错误。

        在Visual Studio中,左键点击CUDA项目,->属性->配置属性->常规->平台工具集,选择:Visual Studio 2012 (v110)。

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

        【讨论】:

          猜你喜欢
          • 2012-03-14
          • 2013-01-09
          • 2011-04-05
          • 1970-01-01
          • 2014-04-15
          • 1970-01-01
          • 1970-01-01
          • 2011-06-30
          相关资源
          最近更新 更多