我有三个疑惑。有人在那里寻求帮助吗?
答案 0 :(得分:6)
它是一个MSBuild属性,用于控制您要使用的平台工具集的特定版本。
此处有更多信息:http://msdn.microsoft.com/en-us/library/windows/hardware/hh454232%28v=vs.85%29.aspx
您最有可能想要使用最后一个稳定的Windows SDK。您可以查看正在使用的工具集,查看Visual Studio项目文件(.vcxproj),查找此XML条目:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label="Configuration">
<ConfigurationType>Driver</ConfigurationType>
<DriverType>KMDF</DriverType>
<PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
</PropertyGroup>
答案 1 :(得分:3)
这是用于编译和链接项目的所有工具的版本。
答案 2 :(得分:1)
在Visual Studio的“解决方案资源管理器”中,打开项目(而不是解决方案的项目)的快捷菜单,然后选择“属性”以打开项目的“属性页”对话框。
在“属性页”对话框中,打开“配置”下拉列表,然后选择“所有配置”。
在对话框的左窗格中,展开“配置属性”,然后选择“常规”。
在右窗格中,选择“平台工具集”,然后从下拉列表中选择所需的工具集。例如,如果您已经安装了Visual Studio 2010工具集,则选择Visual Studio 2010(v100)将其用于您的项目。
选择“确定”按钮。
答案 3 :(得分:1)
此外,它是用于构建项目的工具链版本。因此,取决于您选择的版本,使用不同的编译器,链接器(等)版本。如果选择随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 ++标准等的某些功能。
答案 4 :(得分:0)