- 什么是VS项目中的“平台工具集”设置?
- 为什么需要这种设置?
- 如果我更改了设置(从v110到v100),会发生什么?
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label="Configuration">
<ConfigurationType>Driver</ConfigurationType>
<DriverType>KMDF</DriverType>
<PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
</PropertyGroup>
它是用于构建项目的工具链版本。因此,根据您选择的版本,使用不同的编译器、链接器(等等)版本。如果您选择了与VS2017(v141)发布的工具集版本,MSBuild将使用该工具集中的工具来构建项目。
YoavKlein提供的链接中很好地描述了它:“平台工具集由C++编译器(cl.exe)和链接器(link.exe)以及C/C++标准库组成。自Visual Studio 2015以来,工具集的主要版本一直保持在14上,这意味着使用Visual Studio 2019或Visual Studio 2017编译的项目与使用Visual Studio 2015编译的项目ABI向后兼容。自Visual Studio 2015以来,每个版本的次要版本都增加了1: Visual Studio 2015:v140 Visual Studio 2017:v141 Visual Studio 2019:v142”
因此,如果主要版本相同,则没有ABI差异(但在您的情况下,您询问从v110到v100的更改,因此可能会破坏兼容性),但可能会发生编译器提供旧版本工具集时无法实现新的或即将推出的c++标准等功能的情况。
PlatformToolset和Visual Studio版本之间的映射关系如下:
(v130被跳过了)
引用自:
这是编译和链接您的项目所使用的所有工具版本。
在 Visual Studio 中,打开解决方案资源管理器中项目的快捷菜单(不是解决方案),然后选择“属性”以打开项目属性对话框。
在属性对话框中,打开配置下拉列表,然后选择“所有配置”。
在对话框的左侧窗格中,展开“配置属性”,然后选择“常规”。
在右侧窗格中,选择“平台工具集”,然后从下拉列表中选择所需的工具集。例如,如果您安装了 Visual Studio 2010 工具集,则选择“Visual Studio 2010 (v100)”来用于您的项目。
选择“确定”按钮。