Games for Windows and the DirectX SDK blog

Technical tips, tricks, and news about game development for Microsoft platforms including desktop, Xbox, and UWP

Project maintained by walbourn Hosted on GitHub Pages — Theme by mattgraham
Home | Posts by Tag | Posts by Month

VS 2017 (15.5 update)


Originally posted to Chuck Walbourn's Blog on MSDN,

The Visual Studio 2017 (15.5 update) is now available for download, and you should see the ‘new update available’ notification in the coming weeks–you can also get the update now by downloading the ‘free trial’ version of the installer which will let you update your system. This is second major update to the 19.x C++ compiler with a focus on C++17 conformance and bug fixes.

All versions of Visual Studio 2017 are out of their “mainstream” support lifecycle as of April 2022. Platform toolset v141 from 15.9 support is still available in Visual Studio 2019 and Visual Studio 2022 as optional components..

The latest VS 2017 Redistribution packages are available (x86, x64), as well as the Remote Debugging Tools (x86, x64). For more on the Visual Studio 2017 (15.5) update, see the release notes.

Compiler and CRT

VS 2017 (15.5) includes a new version of the C/C++ complier (19.12.25830). See this blog post for details on the latest C++17 Standard conformance as well as this blog post and Microsoft Docs.

Servicing: 15.5.2 includes the 19.12.25831 compiler. 15.5.3 includes 19.12.25834. These fix some ICE (internal compiler errors) and a x64 bad codegen issue. 15.5.5 includes 19.12.25835 which adds a new /Qspectre switch..

The /permissive- switch can be specified with a new VC++ project element <ConformanceMode> instead of having to use <AdditionalOptions> starting with the 15.5 update. Newly created VC++ project templates after the 15.5 update will include this element by default except for those that have C++/CX (/ZW) enabled.

Note: Per this blog post, the _MSC_VER value is now 1912 instead of 1910 or 1911

Side-by-side compiler versions: The 15.5 update also supports selecting the older 15.4 compiler (which was basically the same as the 15.3 compiler with a fix hotfixes) with new side-by-side support. In the installer go to the Individual Components tab and check VC++ 2017 version 15.4 v14.11 toolset. This is intended for use in diagnosing potential compiler regressions should you encounter them as it’s enabled via manually updating a specific .props file on your system.

std::function: If you make use of this aspect of the STL as I do in DirectX Tool Kit et al, you should read this blog post about some debugging improvements in 15.5.

The C/C++ Runtime (14.12.25810) is included in this update. Remember that VS 2015 and VS 2017 share the same runtime redistributable binaries and that VS 2015 Update 3 is binary compatible with VS 2017–code or static library built with one can be linked to the other–, so this is the latest version for both.

GitHub: I’ve made new releases of my libraries to resolve warnings with the 15.5 update: DirectX Tool Kit (DX11/DX12), DirectXTex, DirectXMesh, and UVAtlas.

Related: Windows 10 Fall Creators Update SDK (15.4), VS 2017 (15.3 update)Windows 10 Creators Update SDK (15.1/15.2), Visual Studio 2017 (15.0)