我已经使用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
答案 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中调用cl
,nmake
,msbuild
。
您也可以调用vcvarsall.bat x86
(vcvars32.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处理器。
在命令提示符处,转到Visual C ++安装目录。 (位置取决于系统和Visual Studio安装,但典型位置为C:\Program Files (x86)\Microsoft Visual Studio version\VC\
。)对于示例,请输入:
cd "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
要为32位x86命令行构建配置此命令提示符窗口,请在命令提示符下输入:
vcvarsall x86
命令文件为构建工具,库和标头的路径设置所需的环境变量。您现在可以使用此命令提示符窗口来运行命令行编译器和工具。
如果您想自己设置包含路径等,请查看https://docs.microsoft.com/nb-no/cpp/build/reference/cl-environment-variables