从cmd运行cl.exe

时间:2018-06-13 06:41:51

标签: c++ visual-studio

我已经使用C ++安装了Visual Studio Community 2017。我想从cmd使用它的编译器。我可以从Developer Command Prompt for VS 2017使用它,但我无法在普通cmd中使用它。我尝试按vsvarsall.exe运行right click-> run as administrator。但没有任何反应。好像我必须手动设置环境变量。 每当我尝试运行命令

cl hello.c

它说hello.c(1): fatal error C1034: stdio.h: no include path set

2 个答案:

答案 0 :(得分:2)

Visual Studio包含一个批处理文件,可以为您准备环境(实际上,开发人员命令提示符会在引擎盖下调用它)。

我从未尝试使用社区版,但对于VS 2017 Professional,它位于"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars32.bat"。如果你改变了安装路径,它可能会有所不同。

所以,你所要做的就是调用它:

call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars32.bat"

应该出现以下内容

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.7.3
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x86'

之后,您可以在cmd中调用clnmakemsbuild

您也可以调用vcvarsall.bat x86vcvars32.bat只是一个快捷方式)。

您可以通过创建自动调用它然后打开命令提示符

的批处理来避免每次输入
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars32.bat"
cmd

然后运行该批次而不是cmd。

另一种选择是将"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\"添加到路径中,这样您只需在需要开发人员工具时键入vcvars32.bat

答案 1 :(得分:2)

取自msdn

  

开发人员命令提示符快捷方式会自动设置正确的   编译器和工具的路径,以及任何所需的标头和   库。如果使用a,则必须自己设置这些环境值   常规命令提示符窗口。有关详细信息,请参阅Setting the Path and Environment Variables for Command-Line Builds

通过在普通命令提示符窗口中运行vcvarsall.bat,您可以设置环境变量以配置本机32位或64位编译的命令行,或者交叉编译为x86,x64或ARM处理器。

运行vcvarsall.bat

  1. 在命令提示符处,转到Visual C ++安装目录。 (位置取决于系统和Visual Studio安装,但典型位置为C:\Program Files (x86)\Microsoft Visual Studio version\VC\。)对于示例,请输入:

    cd "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"

  2. 要为32位x86命令行构建配置此命令提示符窗口,请在命令提示符下输入:

    vcvarsall x86

  3. 命令文件为构建工具,库和标头的路径设置所需的环境变量。您现在可以使用此命令提示符窗口来运行命令行编译器和工具。

    如果您想自己设置包含路径等,请查看https://docs.microsoft.com/nb-no/cpp/build/reference/cl-environment-variables