繁体   English   中英

默认情况下,VS2013“v120_xp”作为平台工具集

[英]VS2013 “v120_xp” as platform toolset by default

为了在Windows XP下部署使用VS2013编译器构建的C ++应用程序,必须设置“v120_xp”平台工具集:这使得从XP到8.1的部署成为可能。 接下来的问题是:为什么这个平台工具集不是唯一的默认工具? “v120”平台工具集适用于从Windows Vista开始。 有任何性能缺陷吗? 我已经测试了一个针对Windows 8下的平台工具集构建的应用程序,但我发现性能没有差别(显然......)。

XP专用工具集中有很多东西你无法做到 - 它使用旧的头文件和库,因此使用它构建的应用程序不能调用许多较新的API并使用一些更新的工具。 一个值得注意的例子是DirectX - 引用此MS页面

在构建支持旧版Windows XP平台的应用程序时,您使用的平台标头和库集与Windows 7.1 SDK中提供的类似,而不是具有集成DirectX SDK内容的Windows 8.x SDK(请参阅DirectX的位置) SDK?)。 许多“DirectX”标头和库都包含在这些Windows XP兼容平台标头中(请参阅特定年龄的DirectX SDK),例如Direct3D 9,DirectSound和DirectInput。 但是,您需要继续使用旧版DirectX SDK for Windows XP兼容版本的D3DCompile API(#43),旧版D3DX9,XAUDIO2,XINPUT和PIX for Windows工具(Visual Studio 2012图形调试器不支持Direct3D 9应用程序)。

Windows SDK 7.1A作为VS 2012 Update 1的一部分安装,与“v110_xp”平台工具集一起使用,后者包含最初在Windows SDK 7.1中提供的标头,库和一部分工具。 与使用标准“v110”平台工具集的Windows 8.x SDK版本相比,旧版Direct3D 10和Direct3D 11标头作为此7.1时代工具集的一部分已过时,特别是Windows 8.0 SDK在Windows上安装的SDK调试图层因此,不推荐使用平台工具集“v110_xp”来开发DirectX 11应用程序,但从技术上讲,它可以谨慎使用。 Windows SDK 7.1A不包含dxguid.lib,因此必须在您的某个.cpp文件中使用define INITGUID在本地定义项目中所需的GUID,或使用旧版DirectX SDK版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM