2016-11-20 354 views
1

我刚刚被告知我使用的SDK(2010年6月)不再使用,我需要使用他们已经包含在Win10中的任何新的SDK。那么它在哪里?Win10上的DirectX SDK在哪里?

我试图启动一个图形演示解决方案,我不能调用D3D11函数,因为链接器错误,这意味着我需要包括库等。

如果任何人都可以帮我弄清楚这一点,那么我可以让球滚动,那么我会很好。

+0

我发现openGL with freeglut更直观,可以学习 – Charlie

+0

@Charlie也许......但是我一直在看的所有工作都想要DirectX体验...我在学校使用它,但它是像我说的那样的旧SDK ....我知道OpenGL是很好的知道,我真的很想做DirectX –

+0

字面上谷歌的第一个搜索结果:https://blogs.msdn.microsoft.com/chuckw/2015/08/05/where- is-the-directx-sdk-2015-edition/ – MrEricSir

回答

1

的MSDN页Where is the DirectX SDK?告诉你使用Windows SDK,特别是在Windows 8.0 SDK中,Windows 8.1 SDK或Windows 10 SDK做的DirectX开发(这是假设的Direct3D 11或Direct2D的/ DirectWrite的)。 Direct3D 12需要Windows 10 SDK。

如果您使用的是Visual Studio 2013,Visual Studio 2015或Visual Studio 2017 RC,那么您已经拥有Windows 8.1 SDK和可选的Windows 10 SDK。

一个重要的细节是D3DX库(D3DX9,D3DX10和D3DX11)已弃用,并且只能在旧版DirectX SDK中使用。这意味着D3DX11不是Windows SDK的一部分,你不应该使用它。

对于HLSL,您直接使用D3DCompile或Windows SDK附带的FXC。对于数学,您可以使用Windows SDK附带的DirectXMath。如果您使用的是旧版Effects 11,则可以使用GitHub的版本。我建议你也看看DirectX Tool Kit for DirectX 11tutorials。有关D3DX替代品的完整列表,请参见Living without D3DX

如果您确实想继续在Visual Studio 2012或更高版本中使用旧版DirectX SDK组件,您可以但应该在上面的MSDN页面底部注意详细信息。值得注意的是,当您将旧版DirectX SDK添加到项目中时,必须反转include/lib路径顺序。

对于在旧的DirectX SDK的各个位结束了一个完整的目录,请参见DirectX SDKs of a certain ageDirectX SDK Tools CatalogDirectX SDK Samples Catalog,还有生活没有D3DX以上文章。

用于Windows 10的Direct3D 11调试设备不是由任何Windows SDK或遗留的DirectX SDK安装的。这是一个Windows可选功能。见Direct3D SDK Debug Layer Tricks

自Windows XP Service Pack 2以来,实际的“DirectX Runtime”一直是操作系统的一部分。传统的DirectX SDK从不在任何现代版本的Windows上安装“DirectX”,并且只部署一些可选的并排东东。如果您使用Windows SDK,则完全不需要。请参阅Not So Direct Setup