Visual Studio社区2017 cl.exe

cde*_*man 19 visual-studio

我正在研究在Windows系统上编译一些CUDA内核.根据我的理解,nvcc编译器需要使用cl.exe在Windows系统上进行编译.获得此功能的主要方法是使用Visual Studio.因此我安装了免费社区版.之后我预计会有bin目录在VC目录中,如多个其他问题所示,例如这一个这个.然而,我需要更深入地找几层

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\cl.exe
Run Code Online (Sandbox Code Playgroud)

此特定项目旨在生成可在多个不同Windows系统上编译和使用的程序.我真的需要期望该cl.exe文件是嵌套的还是我错过了某种安装步骤?我期待更短的路径:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\bin\
Run Code Online (Sandbox Code Playgroud)

最终,我需要尽可能简单的方式让用户能够让他们的环境找到cl.exe文件.通常,这涉及(在最高级别)设置环境变量.

The*_*rff 13

我在不同的上下文中遇到了这个问题(Elixir/Phoenix,Rust),但根本原因是相同的:cl.exe在编译期间找不到.

我的设置是:

  • Windows 10,x64
  • Visual Studio Community 2017已经安装,但仅适用于C#开发

出于某种原因,安装Visual C++ Build Tools(如@cozzamara建议)的解决方案不起作用.在安装过程中停止并显示一些模糊的错误消息.猜猜它不喜欢我现有的Visual Studio安装.

这就是我解决它的方式:

  1. 启动Visual Studio安装程序
  2. 使用C++检查桌面开发(此处为屏幕截图)
  3. 在编译之前执行以下命令:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat
    
    Run Code Online (Sandbox Code Playgroud)

    从这个命令cl.exe起作用.或者(并且更方便地进行开发)启动应用程序" VS 2017开发人员命令提示符 "或"x64 Native Tools命令提示符VS 2017".


Lou*_*nco 9

寻找VCVARSALL.BAT- 通常是在更高的水平.如果你运行它,它会设置你的环境,这样你就可以在没有路径的情况下调用CL.

文档:https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx