我可以不用Visual Studio下载Visual C ++命令行编译器吗?
根据标题。 我不想下载整个Visual C ++安装程序,只需要“cl.exe”和在Windows上编译和链接C ++程序所需的其他程序。
2014年,您无法单独从Microsoft下载Visual C ++编译器。
它曾经是你可以的。 然后,它曾经是你可以在Platform SDK中得到它。 那么你只能通过安装Visual Studio来获得它。
令人高兴的是,当时与Visual Studio Express for Desktop(Visual Studio当时的免费版本)捆绑在一起的编译器与Professional或Universal版本的版本完全一样。
2015年11月,微软再次开始在一个名为Visual C ++ Build Tools的独立软件包中提供编译器工具 。
微软写道:
“ C ++构build工具安装程序将不能在安装了Visual Studio 2015的机器上运行。 支持反向(即升级到Visual Studio)。
长期的情况一如既往不明朗。 而且,免责声明:我没有使用自己的构build工具 – 我将不得不先卸载Visual Studio。
如上所述,没有办法做到这一点。 你需要下载整个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
,也许是其他)。
请记住,您可以通过运行msiexec /a <msifile> TARGETDIR="<path>"
(如果是批处理,请input/quiet
参数)来提取MSI文件的内容。 当然,你也可以通过调查bundle中的MSI文件来把更多的东西放入你的包中。 特别是,上面的设置缺less最新的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
所有这些包括x86
和x64
东西(我没有考虑ARM或IA64)。 与LZMA压缩的这两个软件包将产生一个185MB的文件。
更新:Visual C ++ 2015构build工具位于此处: http : //landinghub.visualstudio.com/visual-cpp-build-tools
Visual C ++ 2017构build工具现在是常规VS 2017安装程序的一部分。 只需select您需要的工作量。 信息在同一页上。
此链接优先于下面的博客链接,因为它是官方的login页面,并将保持最新状态。
我在C ++团队。 如果您对使用VC ++构build工具或一般MSVC有任何疑问,请随时给我发电子邮件。 我的电子邮件是我的StackOverflow用户名@ microsoft.com。
一旦我尝试像你这样做。 但MS不提供孤立的编译器。 所以如果你需要MS C ++编译器,你必须安装VS. 但是,如果你喜欢冒险。 有一个棘手的方法来做到这一点。 在这里尝试。 Chrees!
您可以在不使用Visual Studio的情况下使用MSVC编译器,最新版本可在此处获得:
http://www.microsoft.com/en-us/download/details.aspx?id=41151
这里还有一个网站,详细介绍了编译器的命令行选项: