简体   繁体   中英

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.

Accoding to the Doc

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

Platform Toolset allows 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"

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 2015: v140

Visual Studio 2017: v141

Visual Studio 2019: v142

Windows SDK is related to windows version. For example:

Windows SDK(10.0.18362.0):Windows 10, version 1903

Windows SDK(8.1): Windows 7 or Windows Vista 在此处输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM