As per the title. I don't want to download the entire Visual C++ installer, only "cl.exe" and the other programs required for compiling and linking C++ programs on Windows.
问题:
回答1:
In 2014 you could not download the Visual C++ compiler alone from Microsoft.
It used to be that you could. Then it used to be that you could get it in the Platform SDK. Then you could only get it by installing Visual Studio.
Happily, at that time, the compiler that was bundled with Visual Studio Express for Desktop (the free version of Visual Studio at the time) was, and is, the very same that you get with Professional or Universal editions.
In November 2015 Microsoft again started providing the compiler tools in a free-standing package called the Visual C++ Build Tools.
Microsoft writes:
” the C++ Build Tools installer will not run on a machine with Visual Studio 2015 already installed on it. The reverse (i.e. upgrade to Visual Studio) is supported.
回答2:
As said, there is no way to do that. You need to download the entire 4-6GB+ bundle. MS deployment is a botch.
There is no need, however, to actually install everything. If you're up to some manual installation, you can extract individual components from the bundle and put them all in a more organized directory tree.
For example, I've found the following set to be the bare minimum needed for using the current MSVC2013 compilers in a x86 environment:
vc_compilerCore86.msi: MSVC toolchain;vc_compilerCore86res.msi: MSVC toolchain MUI resources;vc_librarycore86.msi: MSVC library stuff;vc_LibraryDesktopX86.msi: More MSVC library stuff;Windows Software Development Kit for Windows Store Apps-x86_en-us.msi: Windows SDK files and related tools (rc.exe,mt.exe, etc.);Windows Software Development Kit-x86_en-us.msi: More Windows SDK files (specifically,WinSock2.h,WS2_32.lib, maybe others).
Remember that you can extract the contents of a MSI file by running msiexec /a (jot a /quiet parameter if you're batching). Of course, you can also put more into your package by investigating the MSI files inside the bundle. In particular, the above set is missing the latest MSBuild tools, since I don't care for them. Stuff is often scattered around between multiple MSIs cluelessly, so good luck.
I've got a 50MB (!!!) 7z-file containing this set for local deployment, though I cannot share this publicly due to Microsoft licensing restrictions.
UPDATE:
This is the list of MSI files for MSVC2015 tools, headers and libraries:
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 And this is the list of MSI files for WinSDK10 tools, headers and libraries (downloaded separately):
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 All of this include stuff for both x86 and x64 (I haven't considered ARM or IA64). Both bundles compressed with LZMA will yield a 185MB file.
回答3:
Update: The Visual C++ 2015 Build Tools are located here: http://landinghub.visualstudio.com/visual-cpp-build-tools
The Visual C++ 2017 Build Tools are now part of the regular VS 2017 installer. Just select the workloads you need. Information is on the same page.
This link is preferred to the blog links below as it's the official landing page and will be kept up-to-date.
I'm on the C++ team. If you have any questions about using the VC++ Build Tools or about MSVC in general, feel free to email me. My email is my StackOverflow user name @microsoft.com.
回答4:
Once I tried to do same this as you. But MS doesn't provide isolated compiler. So if you need MS C++ compiler you must need to install the VS. But if you like to adventure. there is a tricky way to do that. Try it here. Chrees!
回答5:
You can use MSVC compiler without Visual Studio and the latest version is available here:
http://www.microsoft.com/en-us/download/details.aspx?id=41151
Also here's a website which details the command line options for the compiler: