Windows 不使用Visual Studio编译CUDA-“;在路径“中找不到编译器cl.exe”;

Windows 不使用Visual Studio编译CUDA-“;在路径“中找不到编译器cl.exe”;,windows,parallel-processing,cuda,Windows,Parallel Processing,Cuda,我刚刚在CUDA开始了一个小项目 我需要知道以下几点: 不使用/购买Microsoft Visual Studio就可以编译CUDA代码吗? 使用Nvcc.exe,我得到错误“无法在路径中找到编译器cl.exe” 我曾尝试为NetBeans安装CUDA,但它不起作用。(使用当前版本的NetBeans) 平台:Windows7 提前感谢。更新 如评论中所述,Windows 7之后的SDK版本不包括构建工具。如果要使用Microsoft的最新工具,必须安装Visual Studio。安装后,可以从命

我刚刚在CUDA开始了一个小项目

我需要知道以下几点: 不使用/购买Microsoft Visual Studio就可以编译CUDA代码吗? 使用Nvcc.exe,我得到错误“无法在路径中找到编译器cl.exe”

我曾尝试为NetBeans安装CUDA,但它不起作用。(使用当前版本的NetBeans)

平台:Windows7


提前感谢。

更新

如评论中所述,Windows 7之后的SDK版本不包括构建工具。如果要使用Microsoft的最新工具,必须安装Visual Studio。安装后,可以从命令行使用这些工具

目前,免费版本是“社区”版本,例如

您可以继续使用我前面介绍的旧SDK工具为Windows 7及更早版本开发应用程序(它们将在更高版本的Windows上运行):

原始答案

如果您非常想避开VisualStudio,请下载并安装。它包含(或多或少)与VisualStudio相同的生成工具

然后运行Windows SDK命令提示符(您可以在Microsoft Windows SDK下的“开始”菜单中找到),设置指向工具的路径,就可以设置了


<>或者只使用Visual C++ Express。

< p>你必须弄清楚安装了Nvidia GPU计算工具包。 在我的系统中,它位于“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe”中

  • Windows上的“编辑环境变量”
  • 点击新建
  • 变量名称:NVCC 变量值:C:\Program Files\NVIDIA GPU计算工具包\CUDA\v4.0\bin\nvcc.exe
  • 点击OK

  • 在前面的评论之后,我安装了Studio Express&VS2010。 这并没有解决“cl.exe不在路径中”的问题。

    我解决了在路径
    中找不到编译器cl.exe的错误,包括 路径中的
    c:\ProgramFiles(x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
    , 在安装Windows SDK之前

    这也包含有价值的信息。
    由于某种原因,
    VS2010
    &
    Studio Express
    即使在执行
    vsvars32.bat
    之后,也未能在path中设置正确的变量


    感谢您的宝贵帮助。

    将此选项添加到nvcc

    nvcc x.cu <other options>  -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"
    
    nvcc x.cu-ccbin“D:\Program Files\Microsoft Visual Studio 11.0\VC\bin”
    

    我使用VS2012,我的cl.exe目录在这里。

    使用linux的windows子系统,在windows中使用ubuntu终端安装ubuntu和nvcc以及gcc和g++(gui不适用于windows的linux子系统)。然后使用bash和vim/nano以及“cd”命令将.bashrc配置到您想要的位置,就像在通常的linux终端中那样(因为每次bash都在system32文件夹中打开,所以很容易)。然后您可以使用nvcc over bash编译.cu文件。由于nvcc在linux下支持gcc和g++,因此解决了这个问题。没有必要为了切换到linux或处理糟糕的VisualStudio而牺牲和平。这对我有用


    那么您想使用什么编译器?是的,您可以在没有任何IDE的情况下使用。您可以将nvcc设置为环境变量。@Kabamaru:nvcc不是编译器,它需要主机编译器。如果不使用microsoft编译器,则无法在Windows平台上编译和运行CUDA代码。您可以在没有Visual Studio的情况下使用它,但不能使用gcc或其他任何东西来代替cl.exe.Kabamaru,nvcc与兼容,可以免费使用。(2008从ISO是免费的;2010需要在30天之后免费注册)@ TalnMys:我已经看到了一些CUDA的C语言和C++语言的绑定,但是他们没有提到“代码> NVCC .exe < /C>或<代码> C.exe < /Case>作为一个要求。但从你们描述的情况来看,用另一种语言使用cuda似乎是不可能的。下载大小是多少(真实大小,而不是链接页面上列出的500KB)?包含哪个版本的cl.exe?--高达600 MB(ISO下载)和VS 2010。这里是@osgx的发行说明:我已经安装了7.1 SDK和VC++2010 Express。它们都有cl.exe版本16.00.30319.01。SDK的下载量很大,但我无法告诉您确切的大小。发行说明中提到的600MB是合理的。Windows8SDK不再包括命令行构建环境。8和10不再包含cl.exe。windows 8和10用户应该从哪里获得命令行生成环境?对于缺少的主机编译器,您该怎么办?@Talonmes实际上我已经在windows上安装了Visual Studio,所以我有主机编译器。@Jay:是的,但问题是如何在没有安装Visual Studio的情况下进行编译。您的回答和注释没有说明这一点。vsvars32.bat确实在路径中设置了适当的变量,但仅在该命令提示符的上下文中设置了相应的变量;其目的不是在系统范围内设置变量。如果希望流程使用变量,则必须从命令提示符启动流程。还有一件事与此问题相关。我得到了相同的错误(在路径中找不到cl.exe),即使它被添加到用户和sys变量中。事实证明,问题在于有两个不同的Visual Studio版本(2012和2013)。卸载2013后,它将在2012年编译并运行(因此也可能在其他IDE中编译-刚刚在SharpDevelop中测试过,它可以工作!)。您好@rahul,欢迎使用Stack Overflow,请尝试让您的答案更具可读性。i、 e.在重要点之间留出空间和线条。还有一个“在此处输入图像描述”,您可以进行清理。继续回答吧,兄弟