Visual Studio 2026
visualc-
Visual Studio 2026 (a.k.a. 18.0) released late last year, so I’ve been meaning to make a post about it. The Visual C++ team has moved to a new release cadence and lifecycle, which is the first thing to read up on. The VS 2026 Redistribution packages are also available (x86, x64, arm64), as well as the Remote Debugging Tools (x86, x64, arm64). For more information see the Visual Studio team blog, the Visual C++ Team Blog, and as always the release notes.
System requirements: The system requirements for installing VS 2026 are much the same as they were for VS 2022 except for dropping Windows Server 2016. As with Visual Studio 2022 (17.4) or later, VS 2026 has a ARM64 native version of the IDE and tools available.
The major change here is the dropping of support for targeting many older versions of Windows that are out of their support lifecycle. The Visual C++ 2026 toolset no longer supports targeting Windows 7, Windows 8, Windows 8.1, or 32-bit versions of Windows on ARM.
VS 2026 includes a new version of the C/C++ Compiler (19.50.35717.0). The v145 Platform Toolset includes support for C++14, C++17, C++20, and C11/C17. A preview of C++23 support is available via /std:c++23preview. C++26 support for the Standard Library is also in progress in this release using /std::c++latest. See Microsoft Learn for more details on the C++ language and library conformance status. Note that C11/C17 support requires Windows SDK (20348) or later. For a step-by-step guide on upgrading projects, see this blog post.
| 18.x update | C++ compiler |
|---|---|
| 18.0.0 | 19.50.35717.0 |
| 18.0.1 | 19.50.35718.0 |
| 18.0.2 | 19.50.35719.0 |
| 18.1.0 | 19.50.35720.0 |
| 18.1.1 | 19.50.35721.0 |
| 18.2.0 | 19.50.35722.0 |
| 18.2.1 | 19.50.35723.0 |
The C/C++ Runtime (14.50.34710) is binary compatible with VS 2015 Update 3 through VS 2026, which means you can safely link C/C++ code built with VS 2015 Update 3, VS 2017, VS 2019, or VS 2022 with VS 2026. See Microsoft Docs for details. For a complete list of updates to the C/C++ Standard Library, see GitHub. For more details on language conformance updates, see this blog post.
VS 2026 does provide support for older MSVC toolsets as well per this blog post.
Compiler switches: The MSVC 19.50 compiler toolset adds a new switch /Zc:u8EscapeEncoding which enables C++20 conformant encoding for some u8 sequences. Without this switch, the older non-conforming behavior is used when encoding \x sequences. This was technically added in VS 2022 17.14.
C4865 off-by-default warning: The MSVC 19.50 compiler when using /Wall will emit this conformance warning. For my GitHub projects, I suppressed this warning as it’s an issue that has to be addressed in the Windows SDK headers.
ASAN: The Address Sanitizer (ASAN) in VS 2026 has been updated to support ARM64 native applications per this blog post.
Project Templates: The Microsoft GDK Templates on VS Marketplace support VS 2026 including the ARM64 native version. I’m working on releasing a new build of the directx-vs-templates VSIX with v145 support on GitHub.
Xbox: Support for Visual Studio 2026 for the Microsoft GDK with Xbox Extensions will be shipped in a future update. Basic MSBuild support for the Gaming.*.x64 custom platforms via BWOI is present in the October 2025 release as part of the new layouts folders.
CMake: VS 2026 ships with CMake 4.1.1. The included version supports the “Visual Studio 18 2026” generator, which is not in the mainline version until CMake 4.2.0.
clang: VS 2026 includes clang/LLVM 20.1.8 for Windows as an optional component. Note that the latest compiler fixes some name-mangling compat issues with MSVC 19.20 or later, but won’t be compatible with older clang-built libraries. The switch -fms-compatibility-version=19.14 returns to the older behavior if needed.