我们还需要DirectX SDK来开发windows10中的dx应用程序吗?

Fir*_*FLO 3 direct3d windows-10

大多数课程都说我们需要directX SDK.然而,他们早在2012年,Windows 7时代.我看到一些directX的头文件和lib文件已包含在Windows工具包中(C:\Program Files (x86)\Windows Kits).并且某些名称已更改(XNAmath.h为DirectXMath.h).

所以我想知道SDK是否必要?
我可以只使用Windows套件编写代码吗?

Chu*_*urn 15

作为将DirectX SDK合并到Windows SDK中的人,我在这里和其他地方多次提到过这个问题.

如果您有Visual Studio 2012,2013或2015,那么您已经拥有支持DirectX 11开发的Windows 8.x SDK.使用VS 2015,您可以选择安装为DirectX 12开发所需的Windows 10 SDK.

旧版DirectX SDK的官方状态在MSDN上解决.

本系列博文中包含更多详细信息:

随着向Windows SDK的过渡,一些东西被"遗忘",我已经将很多东西转移到各种GitHub项目中.有关最终结果的完整调查,请参阅以下博文:

目前,Zombie DirectX SDK中仅包含传统DirectX SDK的两种用途:

  • 您正在为Windows XP开发.这需要Windows 7.1 SDK,因为Windows 8.x SDK和Windows 10 SDK不支持Windows XP,这早于DirectX的合并.在VS 2012/2013/2015中,Windows XP工具集包含Windows 7.1A SDK(请参阅此文章).虽然基本的Direct3D 9标头已经在Windows SDK中使用多年,但除了D3DX库中的传统DirectX SDK之外,其他任何地方都没有Direct3D 9实用程序代码.

  • 您想要在Windows 7上使用XAudio,这需要XAudio 2.7,它只能在传统的DirectX SDK中使用.XAudio 2.8包含在Windows 8和Windows 10中,标头位于Windows 8.x SDK中.看这篇文章.

Direct3D 11的旧教程和书籍使用D3DX11实用程序库和xnamath或D3DXmath.您可以将旧版DirectX SDK与Windows 8.x SDK或Windows 10 SDK一起使用,但由于反向包含/ lib路径顺序,它很棘手.有关详细信息,请参阅MSDN 相反,我建议使用上面列出的D3DX替换,例如DirectX工具包DirectXMath.

如果您使用的是Direct3D 10.x,那么您应该升级到Direct3D 11.该API非常相似,Direct3D 11在更广泛的平台和硬件上受支持,您可以使用替换D3DX11来删除任何遗留的旧版DirectX依赖项.

从Windows 8.x到Windows 10 wrt到DirectX开发的主要变化是如何获得"Developer Runtime".您可以启用名为"图形工具"的Windows可选功能,而不是从SDK中获取它.值得注意的是,Windows 8.0,Windows 8.1或Windows 10上不支持Direct3D 9调试设备.请参阅Visual Studio 2015和Windows 10的图形工具.


mag*_*981 0

DirectX SDK 已合并到 Windows SDK 中,因此新的 DirectX12 项目不需要它,除非您维护旧的 DirectX 9/10/11 解决方案:

DirectX SDK 在哪里?

从 Windows 8 开始,DirectX SDK 作为 Windows SDK 的一部分包含在内。

我们最初创建 DirectX SDK 作为 Windows 之上的游戏开发高性能平台。随着 DirectX 技术的成熟,它们与更广泛的应用程序相关。如今,计算机中 Direct3D 硬件的可用性甚至促使传统桌面应用程序使用图形硬件加速。与此同时,DirectX 技术与 Windows 的集成更加紧密。DirectX 现在是 Windows 的基本组成部分。

由于 Windows SDK 是 Windows 的主要开发人员 SDK,因此 DirectX 现在包含在其中。