我可以在没有Visual Studio的情况下下载Visual C++命令行编译器吗?

mag*_*nus 61 c++ winapi visual-c++

根据标题.我不想下载整个Visual C++安装程序,只需要下载"cl.exe"以及在Windows上编译和链接C++程序所需的其他程序.

Che*_*Alf 16

2014年,您无法单独从Microsoft下载Visual C++编译器.

它曾经是你可以的.然后它曾经是你可以在Platform SDK中获得它.然后你只能通过安装Visual Studio来获得它.

令人高兴的是,当时与Visual Studio Express for Desktop(当时的Visual Studio的免费版本)捆绑在一起的编译器与专业版或通用版完全相同.

2015年11月,Microsoft再次开始在名为Visual C++ Build Tools的独立程序包中提供编译器工具.

微软写道:

" C++ Build Tools安装程序不能在已安装Visual Studio 2015的计算机上运行.支持反向(即升级到Visual Studio).

长期的情况一如既往地不明确.并且,免责声明:我自己没有使用构建工具 - 我必须首先卸载Visual Studio.


ale*_*cov 15

如上所述,没有办法做到这一点.您需要下载整个4-6GB +捆绑包.MS部署是一个拙劣的问题.

但是,没有必要实际安装所有东西.如果您需要手动安装,则可以从捆绑包中提取单个组件,并将它们全部放在更有条理的目录树中.

例如,我发现以下设置是在x86环境中使用当前MSVC2013编译器所需的最低限度:

  • vc_compilerCore86.msi:MSVC工具链;
  • vc_compilerCore86res.msi:MSVC工具链MUI资源;
  • vc_librarycore86.msi:MSVC库的东西;
  • vc_LibraryDesktopX86.msi:更多MSVC库的东西;
  • Windows Software Development Kit for Windows Store Apps-x86_en-us.msi:Windows SDK的文件和相关的工具(rc.exe,mt.exe,等);
  • Windows Software Development Kit-x86_en-us.msi:更多的Windows SDK文件(特别是WinSock2.h,WS2_32.lib也许其他人).

请记住,您可以通过运行来提取MSI文件的内容msiexec /a <msifile> TARGETDIR="<path>"(/quiet如果您正在批处理,请输入参数).当然,您还可以通过调查捆绑包内的MSI文件将更多内容放入包中.特别是,上面的集合缺少最新的MSBuild工具,因为我不关心它们.东西经常散布在多个MSI之间无助,所以祝你好运.

我有一个50MB(!!!)7z文件,其中包含用于本地部署的这个集合,但由于Microsoft许可限制,我无法公开分享.


更新:

这是MSVC2015工具,标头和库的MSI文件列表:

packages\VisualC_D14\VC_Tools.Core\VC_Tools.Core.msi
packages\VisualC_D14\VC_Tools.Core.Res\VC_Tools.Core.Res.msi
packages\VisualC_D14\VC_Tools.X86.Base\VC_Tools.X86.Base.msi
packages\VisualC_D14\VC_Tools.X86.Base.Res\VC_Tools.X86.Base.Res.msi
packages\VisualC_D14\VC_Tools.X86.Nat\VC_Tools.X86.Nat.msi
packages\VisualC_D14\VC_Tools.X86.Nat.Res\VC_Tools.X86.Nat.Res.msi
packages\VisualC_D14\VC_Tools.X86.X64\VC_Tools.X86.X64.msi
packages\VisualC_D14\VC_Tools.X86.X64.Res\VC_Tools.X86.X64.Res.msi
packages\VisualC_D14\VC_PremTools.X86.Base\VC_PremTools.X86.Base.msi
packages\VisualC_D14\VC_PremTools.X86.Base.Res\VC_PremTools.X86.Base.Res.msi
packages\VisualC_D14\VC_PremTools.X86.Nat\VC_PremTools.X86.Nat.msi
packages\VisualC_D14\VC_PremTools.X86.Nat.Res\VC_PremTools.X86.Nat.Res.msi
packages\VisualC_D14\VC_PremTools.X86.X64\VC_PremTools.X86.X64.msi
packages\VisualC_D14\VC_PremTools.X86.X64.Res\VC_PremTools.X86.X64.Res.msi
packages\VisualC_D14\VC_CRT.Headers\VC_CRT.Headers.msi
packages\VisualC_D14\VC_CRT.X86.Desktop\VC_CRT.X86.Desktop.msi
packages\VisualC_D14\VC_CRT.X86.Store\VC_CRT.X86.Store.msi
packages\VisualC_D14\VC_CRT.X64.Desktop\VC_CRT.X64.Desktop.msi
packages\VisualC_D14\VC_CRT.X64.Store\VC_CRT.X64.Store.msi
packages\VisualC_D14\VC_CRT.Redist.Res\VC_CRT.Redist.Res.msi
packages\VisualC_D14\VC_CRT.Redist.X86\VC_CRT.Redist.X86.msi
packages\VisualC_D14\VC_CRT.Redist.X64\VC_CRT.Redist.X64.msi
packages\VisualC_D14\VC_ATL.Headers\VC_ATL.Headers.msi
packages\VisualC_D14\VC_ATL.X86\VC_ATL.X86.msi
packages\VisualC_D14\VC_ATL.X64\VC_ATL.X64.msi
packages\VisualC_D14\VC_MFC.Headers\VC_MFC.Headers.msi
packages\VisualC_D14\VC_MFC.X86\VC_MFC.X86.msi
packages\VisualC_D14\VC_MFC.X64\VC_MFC.X64.msi
packages\VisualC_D14\VC_PGO.Headers\VC_PGO.Headers.msi
packages\VisualC_D14\VC_PGO.X86\VC_PGO.X86.msi
packages\VisualC_D14\VC_PGO.X64\VC_PGO.X64.msi
packages\Win10_UniversalCRTSDK\Universal CRT Headers Libraries and Sources-x86_en-us.msi
Run Code Online (Sandbox Code Playgroud)

这是WinSDK10工具,标题和库的MSI文件列表(单独下载):

Installers\Windows SDK Desktop Headers Libs Metadata-x86_en-us.msi
Installers\Windows SDK Desktop Tools-x86_en-us.msi
Installers\Windows SDK for Windows Store Apps Headers Libs-x86_en-us.msi
Installers\Windows SDK for Windows Store Apps Tools-x86_en-us.msi
Run Code Online (Sandbox Code Playgroud)

所有这一切都包含用于东西x86x64(我还没有考虑ARM或IA64).使用LZMA压缩的两个捆绑包都将产生185MB的文件.

  • 添加"vc_LibraryDesktopX64.msi"似乎是x64版本的最低要求. (5认同)

apa*_*doe 6

更新:Visual C++ 2015构建工具位于:http://landinghub.visualstudio.com/visual-cpp-build-tools

Visual C++ 2017构建工具现在是常规VS 2017安装程序的一部分.只需选择您需要的工作负载即可.信息在同一页面上.

此链接比下面的博客链接更受欢迎,因为它是官方登录页面,并将保持最新.

我是C++团队的成员.如果您对使用VC++ Build Tools或MSVC有任何疑问,请随时给我发电子邮件.我的电子邮件是我的StackOverflow用户名@ microsoft.com.

  • 该链接已过时,不再可用 (4认同)

Pat*_*ick 6

截至 2019 年,Microsoft 提供Visual Studio 构建工具,其中仅包括编译器、构建工具和 SDK。它隐藏在所有下载列表中。

  • 看起来像一个联网的迷你安装程序。是1.3MB。无法离线存档、复制和安装。一旦微软关闭他们的服务器,肯定很快就会崩溃,即不到5年。不知道是否可以非交互式安装。不知道多个版本是否可以共存。不知道如何选择一个特定版本。与任何 Linux 发行版相比,甚至与自己构建 gcc 或 clang 相比,仍然复杂和晦涩。对许可证一无所知。令人沮丧。 (3认同)
  • @JohanBoulé 现在有大量关于几乎所有这些主题的 MSDN 文档。例如,可以使用[本地缓存](https://learn.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2019 #use-the-command-line-to-create-a-local-cache) 或 [网络缓存](https://learn.microsoft.com/en-us/visualstudio/install/create-a-network-installation -of-visual-studio?view=vs-2019)。 (3认同)
  • @MaxTruxa 感谢您的链接。这看起来是一个复杂的过程,需要相当长的时间来研究。我认为有一天它们可能会满足那些不想从 35GB 集合中选择各种软件包而只想要裸露的编译器、链接器和核心库的人们的需求,在一个可移植的存档中,我们可以将其提取到任何我们想要的地方。 (2认同)

Gre*_*Veg 5

我最终使用了Chocolatey,它有一个Visual C++ Build Tools 包

这个命令:

choco install visualcpp-build-tools 
Run Code Online (Sandbox Code Playgroud)

将安装最新的 2017 版本,但您可以选择旧版本之一,其中包括 2015 版本。

安装后Visual Studio 2017文件夹被添加到程序菜单中。它包括路径中带有cl.exe和其他工具的各种开发人员命令提示的快捷方式。