Microsoft Visual C++ (MSVC)
Microsoft Visual C++ (MSVC) is a proprietary C/C++ compiler that comes bundled with Visual Studio.
Supported standards
See /std (Specify Language Standard Version).
/std:c++14 /std:c++17 /std:c++20 /std:c++latest /std:c11 /std:c17 /std:clatest
Common compiler switches
- Switches to generate an
.exe
with a separate PDB (containing debug info)/Zi /link /DEBUG:FULL /PDB:main.pdb
Finding MSVC from a batch file
setlocal enabledelayedexpansion REM TODO use %programfiles% for %%V in (2022 2019 2017) do ( if exist "C:\Program Files (x86)\Microsoft Visual Studio\%%V\Community\VC\Auxiliary\Build\vcvars64.bat" ( set "VCVARS_PATH=C:\Program Files (x86)\Microsoft Visual Studio\%%V\Community\VC\Auxiliary\Build\vcvars64.bat" goto :found_vcvars ) if exist "C:\Program Files\Microsoft Visual Studio\%%V\Community\VC\Auxiliary\Build\vcvars64.bat" ( set "VCVARS_PATH=C:\Program Files\Microsoft Visual Studio\%%V\Community\VC\Auxiliary\Build\vcvars64.bat" goto :found_vcvars ) ) :found_vcvars call "%VCVARS_PATH%"
Or use vswhere.
Shortcomings of MSVC (C-mode)
- no
typeof()
- …
Resources
- Download MSVC compiler
- PortableBuildTools: Portable, simple and fast installer for Visual Studio Build Tools
- vswhere - Visual Studio Locator
- jonathan blow's c++ code for finding msvc