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


76

按照标题。我不想下载整个Visual C ++安装程序,而只下载“ cl.exe”以及在Windows上编译和链接C ++程序所需的其他程序。


我将“不可能”的答案标记为正确,因为(据我所知)确实不可能单独下载命令行编译器,而这正是问题所在。我从Nayana的回答明白,它可能具有命令行编译器安装不Visual Studio的安装(手动移动从安装所需的文件),但问题专门询问下载包,而不下载整个视觉工作室。
马格努斯2014年

2
@ user1420752:重点是,出于礼貌,您应该等待足够长的时间以便其他人答复。即使答案“足够好”,在不同时区也可能会有更好的答案。在这里发挥了很多作用。
david.pfx 2014年

3
刚刚也遇到了这个问题,很沮丧,需要发表评论。我现在被迫安装3gig下载文件,只是为了使用一个命令行工具,我想这是最便宜的几百兆!真气:(


2
请注意:虽然您可以将MSVC2015 Build Tools用作命令行编译器,但请注意,此“权重”至少为3GB(对于Windows 8.1 / 10 SDK支持,更多),而旧的MSVC Express 2010及其IDE(您永远无法打开它,而只能使用进行编译cl.exe),它甚至没有0.5 GB。MSVC2015 Build Tools甚至没有设置PATH,您会得到找不到文件夹的错误...

Answers:


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。


visualstudio.com/support/legal/dn877550 如果您是一家企业,则您的员工和承包商不得使用该软件来开发或测试您的应用程序,但上述允许的开源和教育目的除外。“企业”是指拥有(a)250台以上的PC或用户或(b)年收入超过100万美元(或等值的其他货币)的任何组织及其关联公司,“关联公司”是指控制(通过多数所有权),由组织控制或受组织共同控制的实体。
NotAgain说,恢复莫妮卡

因此,如果要在公司的buildserver上编译VC ++项目,则无法安装“ Microsoft Visual Studio Community 2013”​​。而且我们没有Visual Studio的终极版。
NotAgain说恢复Monica

当您在一家拥有250台PC或收入超过一百万美元的企业中工作时,而我在1990年代所做的工作,那么获得正确版本的Visual Studio就像说您需要它或与您联系IT支持人员,甚至您自己也可以访问软件集合。或者至少应该那么容易。通常,使用您公司未提供的开发工具不是一个好主意,因为那样的话,其他公司将难以维护。
干杯和健康。-Alf 2015年

16

如前所述,没有办法做到这一点。您需要下载整个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.exemt.exe,等);
  • Windows Software Development Kit-x86_en-us.msi:更多的Windows SDK文件(特别是WinSock2.hWS2_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

这是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

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


5
添加vc_LibraryDesktopX64.msi似乎是x64构建的最低要求。
nwellnhof

@Alek在哪里可以得到那些* .MSI?
An Hoa

@AnHoa:对于MSVC,您可以从ISO中提取它们。对于WinSDK,您可以下载Web安装程序并运行setup.exe /layout <path>。Web安装程序会将它们下载(不安装)到指定目录。
alecov


所以从本质上讲,您说如果我仅从现有安装中复制一堆目录,我就能让编译器正常工作吗?那些可能来自VC,甚至是Common7。对?
斯拉瓦

5

更新:Visual C ++ 2015生成工具位于此处:http : //landinghub.visualstudio.com/visual-cpp-build-tools

Visual C ++ 2017生成工具现在是常规VS 2017安装程序的一部分。只需选择所需的工作负载即可。信息在同一页面上。

此链接是下面的博客链接的首选,因为它是官方的登陆页面,并且将保持最新状态。

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


3
链接已过期且不再可用
Adrian W

3

一旦我尝试与您做同样的事情。但是MS不提供隔离的编译器。因此,如果您需要MS C ++编译器,则必须安装VS。但是,如果您喜欢冒险。有一个棘手的方法可以做到这一点。在这里尝试。哇!


1
+1。这很有用,因为您无需完全安装就可以使用它。我没有将其标记为正确,因为该问题询问是否可以单独下载,不完整下载以及手动复制和粘贴所需文件。
马格努斯2014年

3

我最终使用Chocolatey,它具有Visual C ++ Build Tools软件包

该命令:

choco install visualcpp-build-tools 

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

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


1

自2019年起,Microsoft提供了Visual Studio Build Tools,该工具仅包括编译器,构建工具和SDK。它隐藏在所有下载列表中。


3
看起来像一个联网的小型安装程序。1.3MB。无法存档,复制并脱机安装。一旦MS关闭服务器,它肯定会很快崩溃,即不到5年。不知道是否可以非交互式地安装它。不知道几个版本是否可以共存。不知道如何选择一个特定的版本。与任何Linux发行版相比,甚至您自己构建gcc或clang都仍然比较复杂和晦涩。不知道许可证。令人沮丧。
约翰·布勒(JohanBoulé)

1
@JohanBoulé到目前为止,有关所有这些主题的MSDN文档都很丰富。例如,可以使用本地缓存网络缓存进行脱机安装。
Max Truxa

2
@MaxTruxa感谢您的链接。看起来这是一个复杂的过程,需要花费大量时间进行调查。我认为他们可能有一天会满足那些不想从35GB的版本中选择各种软件包,而只希望裸露的编译器,链接器和核心库的人们的需要,在一个可移植的归档文件中,我们可以提取所需的任何内容。
JohanBoulé

0

您可以在不使用Visual Studio的情况下使用MSVC编译器,并在此处提供最新版本:

http://www.microsoft.com/zh-cn/download/details.aspx?id=41151

另外,这里是一个网站,详细介绍了编译器的命令行选项:

http://msdn.microsoft.com/zh-CN/library/9s7c9wdw.aspx


4
我已经尝试过上述下载。安装确实完成,因为它告诉我未安装Visual Studio,并且这是必需的。我认为上述安装程序会在现有的Visual Studio安装中添加一个新的编译器,以启用C ++ 11和C ++ 14功能。
马格努斯2014年

4
@ user1420752:正确。“此软件包要求预先安装VIsual Studio 2013”
MSalters 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.