1
votes

I am using Visual Studio 2015 update 3 (which bundles UCRT 10.0.10240.0) to build a DLL with UCRT statically linked (/MT).

That version of UCRT contains a bug (deadlock in setlocale), I have therefore installed Windows 10 SDK with UCRT 10.0.10586.0, but Visual Studio keeps using it's own version, 10.0.10240.0.

Hence my question - how do I get Visual Studio to link with the latest UCRT libs?

1
Changing the project's Target Platform Version setting to 10.0.10586.0 is the simple way. Changing the VC++ Directories settings for Include and Library is the hard way.Hans Passant
Where is that specified, exactly? I have only "Visual Studio 2015" and "Visual Studio 2015 (xp)" options in "target platform"rustyx
"Target Platform Version", not "Platform Toolset". General page, second item.Hans Passant

1 Answers

2
votes

As Hans Passant mentioned in his comment, after installing Windows 10 SDK, it is possible to target the new UCRT in Visual Studio 2015 using the "Target Platform Version" drop-down in Project Settings.

enter image description here

If this is not done (Target Platform Version is 8.1), Visual Studio will continue to use UCRT 10.0.10240.0.

However, "VS2015 Command Prompt" seems to automatically pick up the latest UCRT.