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

Visual Studio 2017 (15.3) update

visualc

Originally posted to Chuck Walbourn's Blog on MSDN,

Since the release of Visual Studio 2017 in March, there have been two minor updates (15.1 and 15.2) per the new release rhythm. The first update (15.1) integrated the Windows 10 Creators Update SDK (15063), and the second update (15.2) included fixes for the IDE and tools. Neither of these updates included significant changes to the C/C++ compiler beyond a few specific hotfixes. The first major revision to the Visual C++ 19.1 compiler and libraries is now available with the latest update: Visual Studio 2017 (15.3).

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..

If you already have VS 2017 installed, run the “Visual Studio Installer” application on your system to apply the update. If you don’t yet have VS 2017 installed, you can download the latest installer from here.

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.3) update, see the release notes.

The Lightweight Solution Load option that does a partial load of projects for large C++ solutions is included in this update.

Compiler and CRT

VS 2017 (15.3) includes a new version of the C/C++ compiler (19.11.25506). See this blog post for details on the latest Standard conformance and language/library fixes. There are a few new warnings–a few of which are currently off-by-default but quite useful for portability–detailed in this blog post. The latest update also includes support for AVX-512 intrinsics. There’s also some new behavior for /permissive- with two-phase name lookup.

The /std switch can be specified with a new VC++ project element <LanguageStandard> instead of having to use <AdditionalOptions> starting with the 15.3 update.

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

The C/C++ Runtime (14.11.25325) 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.

The C++ Core Guidelines checker has also been updated. See this blog post as well as this one.

directx-vs-templates: The VS 2017 (15.3) includes a fix with my Direct3D game templates if using them on a system without VS 2015 installed side-by-side.

GitHub: I’ve done new releases of DirectX Tool Kit (DX11 / DX12), DirectXTex, DirectXMesh, and UVAtlas which have been updated to build correctly with VS 2017 when using the 15.3 update–I make use of /permissive- for these projects.

Related: Visual Studio 2017 RTM