问题
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:
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
来源:https://stackoverflow.com/questions/61516002/visual-studio-platform-toolset-vs-windows-sdk