c++ - 从 cmd 运行 cl.exe

标签 c++ visual-studio

我已经使用 C++ 安装了 Visual Studio Community 2017。我想从 cmd 使用它的编译器。我可以从 VS 2017 开发人员命令提示符 使用它,但我无法从普通 cmd 使用它。我尝试通过右键单击->以管理员身份运行来运行vsvarsall.exe。但是没有任何反应。好像我必须手动设置环境变量。 每当我尝试运行命令时

cl hello.c

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

最佳答案

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 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 当您需要开发者工具时。

关于c++ - 从 cmd 运行 cl.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50830609/

相关文章:

visual-studio - Program.cs 已隐藏

visual-studio - Java IDE 与 Microsoft IDE

c# - Asp.Net 连接表,以便它们可以正确排序 C# LINQ

c++ - 从一个类的 vector 中打印内容

c++ - 如何在另一个函数中使用这些变量?

c++ - std::vector 是否可以简单复制,为什么?

c++ - 我怎样才能从 boost::random 得到 lognormal_distribution 来像 boost::math::lognormal_distribution

c++ - 如何编写写入/var/log/myapp 目录的 C/C++ 应用程序?

visual-studio - Visual Studio 找到 systemjs typescript 定义,但无法在编译时找到它们

使用 IFORT 并使用在 Microsoft Visual Studio 中编译的目标文件(即 .lib)编译 Fortran 程序