什么是"平台工具集"设置在visual studio项目中

时间:2014-12-17 03:02:21

标签: c++ visual-c++

我有三个疑惑。有人在那里寻求帮助吗?

  1. VS项目中的“平台工具集”项目设置是什么
  2. 为何需要此类设置
  3. 如果我更改设置(v110到v100)
  4. 会发生什么

5 个答案:

答案 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)

  1. 在Visual Studio的“解决方案资源管理器”中,打开项目(而不是解决方案的项目)的快捷菜单,然后选择“属性”以打开项目的“属性页”对话框。

  2. 在“属性页”对话框中,打开“配置”下拉列表,然后选择“所有配置”。

  3. 在对话框的左窗格中,展开“配置属性”,然后选择“常规”。

  4. 在右窗格中,选择“平台工具集”,然后从下拉列表中选择所需的工具集。例如,如果您已经安装了Visual Studio 2010工具集,则选择Visual Studio 2010(v100)将其用于您的项目。

  5. 选择“确定”按钮。

答案 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)