为了在Windows XP下部署使用VS2013编译器构建的C++应用程序,必须设置“v120_xp”平台工具集:这使得从XP到8.1的部署成为可能。那么接下来的问题是:为什么这个平台工具集不是唯一的、默认的? “v120”平台工具集适用于从 Windows Vista 开始的版本。有性能缺陷吗?我已经测试了针对 Windows 8 下的两个平台工具集构建的应用程序,但我没有看到性能差异(显然......)。
有很多事情你无法使用 XP 专用工具集来做 - 它使用旧的标头和库,因此用它构建的应用程序无法调用许多较新的 API 并使用一些奇特的较新工具。一个值得注意的例子是 DirectX - 引用这个MS页面:
在构建支持旧版 Windows XP 平台的应用程序时,
您使用的平台标头和库集类似于
在 Windows 7.1 SDK 而不是 Windows 8.x SDK 中提供
集成的 DirectX SDK 内容(请参阅 DirectX SDK 在哪里?)。
许多“DirectX”头文件和库都包含在其中
Windows XP 兼容平台标头(请参阅特定的 DirectX SDK)
年龄),例如 Direct3D 9、DirectSound 和 DirectInput。你会,
但是,需要继续使用适用于 Windows XP 的旧版 DirectX SDK
D3DCompile API 的兼容版本 (#43)、旧版 D3DX9、
适用于 Windows 的 XAUDIO2、XINPUT 和 PIX 工具(Visual Studio 2012
图形调试器不支持 Direct3D 9 应用程序)。
Windows SDK 7.1A 作为 VS 2012 Update 1 的一部分安装,以便与
“v110_xp”平台工具集,其中包含标头、库、
以及最初在 Windows SDK 中附带的工具的子集
7.1.作为此 7.1 时代工具集的一部分,有较旧的 Direct3D 10 和 Direct3D 11 标头,与 Windows 8.x 相比,这些标头已经过时
使用标准“v110”平台工具集的 SDK 版本,特别是
Windows 8.0 SDK 在 Windows 7 上安装的 SDK 调试层以及
Windows 8。因此不推荐使用平台工具集“v110_xp”
用于开发 DirectX 11 应用程序,但技术上可以完成
请谨慎行事。 Windows SDK 7.1A 不包含 dxguid.lib,因此
必须在您的项目中使用本地定义所需的 GUID
在 .cpp 文件之一中定义 INITGUID,或使用旧版 DirectX SDK 版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)