2010-05-03 197 views
2

我在Core i5上运行Windows 7 Pro x64,并使用与NVIDIA CUDA兼容的NVIDIA 3100m。为什么不能找到我的Visual C++安装?

我已经尝试从NVIDIA安装32位和64位CUDA工具包,不幸从他们任何一个我不能编译任何东西; nvcc说“找不到支持的cl版本,只支持MSVC 8.0和MSVC 9.0”。

我有通过Windows 7 SDK(两个拱门编译器版本15.00.30729.01)安装的x86和x86-64编译器。两个编译器都正常运行;我已经使用它们构建并测试了C和C++代码。我试过从设置为32位和64位编译的命令行运行nvcc,并使用-ccbin命令行选项将nvcc指向Visual C++安装目录。

处理此设置的正确方法是什么?有没有什么办法可以让nvcc更详细地描述发生了什么? -v标志不是很有帮助。理想情况下,可以通过某种方式显示它发现的内容与期望的内容。如果我安装Visual C++ Express,会更好吗?或者只是VC++的商业版本支持与CUDA一起使用?

回答

2

它看起来像你没有安装Visual Studio 2005或2008,但你的编译器版本号表明它是MSVC 9.0。最简单的方法是安装Visual Studiso,我相信Express可以工作。

此外,你可能想看看这个话题上Nvidia Forum

7

包括此行

编译器BINDIR = C:\ Program Files文件 (x86)的\微软的Visual Studio 9.0 \ VC \ BIN

C:\ CUDA \ bin64适用\ nvcc.profile

+0

我没有该目录(C:\ Program Files文件(x86)的\微软的Visual Studio 9.0 \ VC \ BIN)。它在那个目录中寻找什么文件? – mcmillab 2013-09-29 22:52:56

+0

CL.EXE我相信 – mcmillab 2013-09-29 22:55:41

+0

这工作就像一个魅力!我只有'C:\ Program Files文件(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin',但是也有效。 – OptimusCrime 2015-10-31 01:29:41

4

随着CUDA 6.0版,其Visual Studio中(我使用的是2010)的旧版本仍然是必需的,但其他的解决方案并没有为工作我。

为了使这项工作,将以下添加到您的nvcc.profile(C:/ Program Files文件/ NVIDIA GPU计算工具包/ CUDA/V6.0 /斌/ nvcc.profile):

CUDA_NVCC_FLAGS += --compiler-bindir = "-IE:/PROGRA~2/MICROS~2.0/VC/bin" 

我还安装了VS 2013,我需要这样的说法,以防止从NVCC寻找新的(可惜不兼容)版本cl.exe时

1

我试图让CUDA 6.5,VS 2010个快递工作。卸载VS 2010 express后,安装Windows SDK 7.1并重新安装VS 2010 Express,将Windows SDK 7.1设置为工具集等。没有任何工作。在什么工作对我来说到底是添加以下CUDA_NVCC_FLAGS:

--cl-version 2010 

您可能还需要添加:

--machine 32 

我试了相应的标志在命令行中第一。

This link was very helpful

相关问题