【问题标题】:nvcc.exe linking error Microsoft Visual Studio configuration file 'vcvars64.bat' could not foundnvcc.exe 链接错误 Microsoft Visual Studio 配置文件 'vcvars64.bat' 找不到
【发布时间】:2013-09-14 16:43:44
【问题描述】:

我想在 Windows 命令行中使用 nvcc -ptx,但我总是收到以下错误消息: nvcc:致命错误:无法在“C:\Program Files (x86)\Microsoft Visual S”找到安装 Microsoft Visual Studio 配置文件“vcvars64.bat” tudio 11.0\VC\bin/../..'

我使用的是 vs 2012 速成版。有什么解决办法?

【问题讨论】:

  • 您的项目是设置为 32 位还是设置为 64 位?

标签: visual-studio-2012 cuda nvcc


【解决方案1】:

我已经设法解决了这个问题并使用了 MS Visual Studio Express 2012,我做了什么:

  1. 已安装 MS Visual Studio 2012 Express
  2. 已安装cuda_5.5.20_winvista_win7_win8_general_64,截至2014-01-16的最新版本
  3. 从此目录:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin,我已将 x86_amd64 复制到 amd64
  4. 在新目录:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64,我创建了一个文件vcvars64.bat
  5. 在文件vcvars64.bat中,刚刚添加了:CALL setenv /x64

编译效果很好:

C:\CUDA>nvcc -o square square.cu
    Creating library square.lib and object square.exp

C:\CUDA>square.exe
0.000000        1.000000        4.000000        9.000000
16.000000       25.000000       36.000000       49.000000
64.000000       81.000000       100.000000      121.000000
144.000000      169.000000      196.000000      225.000000

【讨论】:

  • 创建x86_amd64 目录副本并调用此副本amd64 的(看似毫无意义的)步骤为我做了。我永远不会发现这一点(NVCC 错误消息并没有说明这一点 - 相反,它表明它正在 Visual Studio 基本目录中寻找 vcvars64.bat...)
  • 这也适用于我,除了 VS2010 我不必添加 amd64 文件夹 - 它已经存在,所以我只是在那里创建了批处理文件。
  • 也为我工作,首先我是通过 'nvcc ?' 测试它这不起作用,但编译过程适用于 cuda。
【解决方案2】:

来自NVIDIA CUDA Compiler Driver 文档

1.2。支持的主机编译器 nvcc 使用以下编译器进行主机代码编译:

在 Linux 平台上

GNU 编译器、gcc 和 arm-linux-gnueabihf-g++ 用于交叉编译到 ARMv7 架构

在 Windows 平台上

Microsoft Visual Studio 编译器,cl 在两个平台上,当前找到的编译器 将使用执行搜索路径,除非指定了 nvcc 选项 -compiler-bindir(请参阅文件和路径规范)。

【讨论】:

    【解决方案3】:

    您的 Visual Studio 安装要求使用 .NET v3.5 框架: http://www.microsoft.com/en-us/download/details.aspx?id=21

    从这里得到这个信息:Where can I find Microsoft.Build.Utilities.v3.5

    【讨论】:

      【解决方案4】:

      在您的项目中,转到 Configuration Properties > CUDA C/C++ > Device 并将 Code Generation 更改为以下内容:compute_11,sm_11

      【讨论】:

      • 这没有为我解决任何问题,并发出警告说它们已被弃用。
      猜你喜欢
      • 2020-10-04
      • 2019-07-15
      • 1970-01-01
      • 2014-01-16
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多