为什么 Microsoft Visual Studio 在同一项目中设置“Windows SDK”和“平台工具集”的配置属性不同?我知道每个 Windows SDK 都提供新的/不同版本的平台工具集。那么在同一个项目中指定 Windows 10 SDK 的平台工具集并同时将 SDK 选项设置为 Windows 8.1 SDK 有什么意义呢?
非常混乱。
为什么 Microsoft Visual Studio 在同一项目中设置“Windows SDK”和“平台工具集”的配置属性不同?我知道每个 Windows SDK 都提供新的/不同版本的平台工具集。那么在同一个项目中指定 Windows 10 SDK 的平台工具集并同时将 SDK 选项设置为 Windows 8.1 SDK 有什么意义呢?
非常混乱。
符合文档
对于 Windows 目标平台,
Windows SDK Version
指定项目所需的 Windows SDK 版本。
Platform Toolset
允许项目以不同版本的 Visual C++ 库和编译器为目标。Visual Studio C++ 项目既可以针对 Visual Studio 安装的默认工具集,也可以针对几个以前版本的 Visual Studio 安装的工具集之一,包括创建可在 Windows XP 上运行的可执行文件的工具集。
“我知道每个 Windows SDK 都提供新的/不同版本的平台工具集”
平台工具集由 C++ 编译器 (cl.exe) 和链接器 (link.exe) 以及 C/C++ 标准库组成。Platform Toolset 与 Visual Studio 版本相关。例如 :
视觉工作室 2015:v140
视觉工作室 2017:v141
Visual Studio 2019:v142
Windows SDK 与 windows 版本有关。例如:
Windows SDK(10.0.18362.0):Windows 10,版本 1903