Can I download the Visual C++ Command Line Compiler without Visual Studio?

C++WinapiVisual C++

C++ Problem Overview


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.

C++ Solutions


Solution 1 - C++

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 <msifile> TARGETDIR="<path>" (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.

Solution 2 - C++

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.

The long term situation is, as always, unclear. And, disclaimer: I have not used the build tools myself ā€“ I would have to uninstall Visual Studio first.

Solution 3 - C++

As of 2019 Microsoft offers Visual Studio Build Tools which only includes the compiler, build tools and SDK. It's hidden in the all downloads list.

Solution 4 - C++

I ended up using Chocolatey, which has a package for Visual C++ Build Tools.

This command:

choco install visualcpp-build-tools 

will install the latest 2017 version, but you can select one of the older versions, which include the 2015 release.

After the installation Visual Studio 2017 folder is added to the Programs menu. It includes shortcuts to various developer command prompts with cl.exe and other tools in the path.

Solution 5 - C++

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.

Solution 6 - C++

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!

Solution 7 - C++

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:

http://msdn.microsoft.com/en-us/library/9s7c9wdw.aspx

Solution 8 - C++

As of the time of writing (June 23, 2021), the following info is taken from Configure VS Code for Microsoft C++.

Here is the important quote:

> You can also install just the C++ Build Tools, without a full Visual > Studio IDE installation. From the Visual Studio Downloads page, scroll > down until you see Tools for Visual Studio under the All downloads > section and select the download for Build Tools for Visual Studio.

enter image description here

> This will launch the Visual Studio Installer, which will bring up a > dialog showing the available Visual Studio Build Tools workloads. > Check the C++ build tools workload and select Install.

enter image description here

> Note: You can use the C++ toolset from Visual Studio Build Tools along > with Visual Studio Code to compile, build, and verify any C++ codebase > as long as you also have a valid Visual Studio license (either > Community, Pro, or Enterprise) that you are actively using to develop > that C++ codebase.

Solution 9 - C++

As what stated in visual c++ 2015 tools for windows desktop

  1. Mount your VS2015.iso
  2. You can find all packages at your mounted location E:\packages | G:\packages
  3. Navigate to Control Panel.
  4. Right-Click at your VS2015 and choose change-modify
  5. Check the Visual C++ boxes as stated in the link.
  6. Click on Modify.
  7. If installer fail to update, copy the mounted directory location and paste on it.
  8. Click Retry button.

Solution 10 - C++

On March 21, 2022, the best I could figure out was to find the "Visual Studio Community" free download (required logging in with Microsoft account). There was no longer any "just give me the damn Build Tools" concept, but there is the promise that you just download an installer and then pick. So I downloaded the installer and ran it.

Of course, none of the top-level options are suitable for "just give me the damn Build Tools", so I pick the "Individual Components" option. This supplies an incredibly large list of things I don't want, but buried within it I find "MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)" which looks hopeful. I check that box and I'm informed they will give me also "Visual Studio code editor".

I'm sternly warned that I'm installing "without workloads", which seems to be some additional crap that the "Visual Studio core editor" I'm never going to use wants. I decline the additional bloatware. Some gigabytes later, it says I'm "Done installing" but warns "We recommend rebooting soon to clean up any remaining files."

After decades of (re-)writing scripts to locate the Microsoft compiler, I bow to Microsoft's superior ability to keep breaking any easy method of automating this process. Whenever I install the Microsoft compiler on a system, I manually set a system-wide environment variable that points to the Microsoft batch file for setting shell environment variables for the tools. Today's machine is a no-license (hey, Microsoft sucks the same way, just not as much!) Windows 10, and that is <Winkey>-x | System | Advanced System settings | Environment Variables

I create a variable called RLBVCVARS and set it to (in this particular case) c:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat My portable Windows dev environment keeps an alias that points to that so, I can mostly pretend Microsoft doesn't constantly introduce breaking changes to their installation schemes. I think you have to reboot for a "system" environment variable to take effect, but hey, Microsoft wants you to reboot after installing anything anyway, so no biggy.

First compile says can't find "io.h". Back to the installer. Let's try adding "Windows 10 SDK" (3 versions to choose from!). A GB or so later, I have an io.h and can build my current project. Onward and upward.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionmagnusView Question on Stackoverflow
Solution 1 - C++alecovView Answer on Stackoverflow
Solution 2 - C++Cheers and hth. - AlfView Answer on Stackoverflow
Solution 3 - C++PatrickView Answer on Stackoverflow
Solution 4 - C++GreenhouseVegView Answer on Stackoverflow
Solution 5 - C++apardoeView Answer on Stackoverflow
Solution 6 - C++Nayana AdassuriyaView Answer on Stackoverflow
Solution 7 - C++jahoView Answer on Stackoverflow
Solution 8 - C++vtfs271232View Answer on Stackoverflow
Solution 9 - C++Azriel TanView Answer on Stackoverflow
Solution 10 - C++Ron BurkView Answer on Stackoverflow