Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual studio platform toolset vs Windows SDK

Why does Microsoft visual studio has different configuration properties for settings 'Windows SDK' and 'platform toolset' in same project? I have the understanding that every windows SDK provides new/different version of platform toolset. So how does it make sense to specify platform toolset of say Windows 10 SDK and at the same time setting the SDK option to say Windows 8.1 SDK in the same project?

Very confusing.


1 Answers

According to the Doc

For the Windows target platform, Windows SDK Version specifies the version of the Windows SDK that your project requires.

Platform Toolsetallows the project to target a different version of the Visual C++ libraries and compiler. Visual Studio C++ projects can target either the default toolset installed by Visual Studio, or one of the toolsets installed by several previous versions of Visual Studio, including toolsets that create executables that can run on Windows XP.

"I have the understanding that every windows SDK provides new/different version of platform toolset"

There might be dependencies between the two for particular configurations; i.e. the Windows SDK (10.0.26100) will only build using the v143 toolset for ARM64 configurations. However there's no one to one relationship between the targeted SDK and the platform toolset so many different SDK versions will build with a single toolset version.

The platform toolset consists of the C++ compiler (cl.exe) and linker (link.exe), along with the C/C++ standard libraries. Platform Toolset is related to visual studio version. For example :

Visual Studio 2019: v142

Visual Studio 2022: v143

Windows SDK is related to targeted windows version. For example:

Windows SDK(10.0.18362.0): Windows 10, version 1903

Windows SDK(8.1): Windows 7 or Windows Vista enter image description here

like image 157
Jeaninez - MSFT Avatar answered Aug 10 '26 06:08

Jeaninez - MSFT



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!