# DirectX SDK变迁表(转)

Recently many older releases of the DirectX SDK and REDIST packages expired and were removed from the Microsoft Downloads Center site. The DirectX SDK and REDIST packages for all 2008, 2009, and 2010 releases are currently available, but all 2007 and prior releases are no longer hosted by Microsoft.

Here is a quick summary of DirectX technologies and recommended solutions. Be sure to read Where is the DirectX SDK? and Where is the DirectX SDK (2013 Edition)? as well.

 Technology Resolution Direct3D 11.2 The Windows SDK 8.1 includes Direct3D 11.2, Direct2D 1.2, and DXGI 1.3. The DirectX 11.2 Runtime is included with Windows 8.1 / Windows Server 2012 R2. Direct3D 11.1 The Windows SDK 8.0 includes Direct3D 11.1, updated Direct2D/DirectWrite, updated WARP, and DXGI 1.2. The DirectX 11.1 Runtime is included with Windows 8 / Windows Server 2012. Partial support is available down-level on Windows 7 / Windows Server 2008 R2 Service Pack 1 via KB 2670838. Direct3D 11.0 The Windows SDK 7.0 includes Direct3D 11.0, Direct2D, DirectWrite, WARP, and DXGI 1.1. The DirectX 11.0 Runtime is included with Windows 7 / Windows Server 2008 R2. Support is available down-level on Windows Vista / Windows Server 2008 Service Pack 2 via KB 971644. Direct3D 10.x The Windows SDK 6.0 or later includes Direct3D 10.x and DXGI 1.0. The DirectX 10.0 Runtime is included with Windows Vista / Windows Server 2008. The DirectX 10.1 Runtime is included with Windows Vista / Windows Server 2008 Service Pack 1. Windows SDK 7.0 or later includes updates for expanded Direct3D 10.1 feature levels (aka “10level9”) included with the DirectX 11.0 Runtime. Direct3D 9 Windows SDK 6.0 or later includes Direct3D 9 and Direct3D9Ex. Direct3D 9.0c is included with Windows XP Service Pack 2, Windows Server 2003 Service Pack 1, and Windows XP x64 Edition. Direct3D9Ex is supported by Windows Vista / Windows Server 2008. Direct3D 8 and prior The August 2007 DirectX SDK was the last version to include Direct3D 8 (d3d8.h d3d8caps.h d3d8types.h) and Direct3D 7 and prior (d3d.h d3dcaps.h d3dvec.inl d3dtypes.h). Direct3D 9 or later should be used for all applications, and we’d recommend using Direct3D 11. D3DX The June 2010 DirectX SDK contains the last release of D3DX9, D3DX10, and D3DX11. DirectXMath, DirectXTex, and D3DCompile replace the majority of the functionality in these utility libraries. DirectXTK provides further alternatives for Direct3D 11 applications. For Direct3D 9 applications, the DDSWithoutD3DX sample provides a way to create textures from .DDS files. The Effects 11 library is available as shared-source online. DXERR9.LIB The August 2007 DirectX SDK was the last version to include the dxerr9.lib. It has been replaced by dxerr.lib in June 2010 DirectX SDK which supports all the same error codes plus some new ones. Changing references to dxerr.lib or making a copy as dxerr9.lib should resolve link issues for this library. Note for Windows 8.x SDK users, see this post for a replacement solution. XACT The June 2010 DirectX SDK contains the last release of the Xbox Audio Cross Platform Tool (XACT) for Windows. For games, we recommend using XAudio2 or a 3rd party middleware solution instead. DirectDraw While February 2010 DirectX SDK was the last to contain ddraw.h and ddraw.lib, ddraw.h is still available in the Windows SDK 6.0 or later. ddraw.lib isn’t needed. See Wither DirectDraw for details. DirectInput The August 2007 DirectX SDK was the last version to include DirectInput7 and prior (dinput.lib). DirectInput8 (dinput.h dinput8.lib) is available in the Windows SDK 7.0 or later and is supported for both x86 and x64 native Win32 desktop applications. For gamepads, we’d recommend supporting XINPUT. XINPUT 9.1.0 headers and libraries are available in the Windows SDK 6.0 or later. See this post for additional information. For mouse and keyboard input, you should use standard Windows messages rather than DirectInput as well. DirectSound DirectSound8 (dsconf.h dsound.h dsound.lib) is available in the Windows SDK 7.0 or later and is supported for both x86 and x64 native Win32 desktop applications. For games, we recommend using XAudio2 instead. Audio engines with their own mixing engine and source rate conversion (SRC) support should use WASAPI on Windows Vista or later. DirectMusic The August 2007 DirectX SDK was the last version to include DirectMusic, and the DirectMusic Producer tool download is no longer hosted by Microsoft. Use of DirectMusic for games is not recommended. “Core” DirectMusic headers (dls1.h dls2.h dmdls.h dmerror.h dmksctrl.h dmusbuff.h dmusicc.h dmusics.h) for use by professional audio developers are available in the Windows SDK 7.1 or later, and supported for both x86 and x64 native Win32 desktop applications by Windows 7 and Windows 8. DirectShow The February 2005 DirectX SDK was the last to include DirectShow headers, but these are available in the Windows SDK. Media Foundation available on Windows Vista and later versions of Windows is recommended over DirectShow for video playback. Be sure to read this post for some additional considerations. DirectPlay The August 2007 DirectX SDK was the last version to include DirectPlay (dpaddr.h dplay.h dplobby.h dplay8.h dplobby8.h dpnathlp.h dplayx.lib). The DirectPlay NAT helper is not supported on Windows Vista or newer versions of Windows. For games we recommend using TCP/IP via the WinSock API for network communication. To replace the ‘lobby’ functionality, you can utilize any number of the many game services available today from Microsoft and other vendors. DirectAnimation The August 2007 DirectX SDK was the last version to include dxtrans.h and dxtrans.lib. This technology was used at one point by Internet Explorer, but this is no longer in use. Managed DirectX 1.1 The August 2006 DirectX SDK was the last version to include the samples and documentation for Managed DirectX 1.1. See DirectX and .NET for more information. Direct3D Retained Mode The August 2007 DirectX SDK was the last version to include d3drm.h d3drmdef.h d3drmobj.h d3drmwin.h. This component is not supported on Windows Vista or newer versions of Windows (see KB 969150). DirectPlay Voice The August 2007 DirectX SDK was the last version to include dvoice.h. This component is not supported on Windows Vista or newer versions of Windows (see KB 970978). DirectX 7/8 Visual Basic 6.0 The August 2007 DirectX SDK was the last version to include dx7todx8.h. This component is not supported on Windows Vista or newer versions of Windows (see KB 971028).

DirectSetup: For the REDIST package, the current web redist and standalone package will install all older and current verisons of the various optional side-by-side DLLs on Windows XP Service Pack 2 or later. See Not So Direct Setup for more details and notes about older releases.

Dark GDK: For users of the Dark GDK that was promoted for Visual Studio 2008 Express, the retirement of the DirectX SDK (August 2007) poses some challenges. There are some community work-arounds for disabling the use of DirectPlay and resolving the link problems with DXERR9.LIB (such as this post), and these are preferrable to continuing to use a copy of the DirectX SDK (August 2007).

DirectX SDK (August 2007): If you obtain a copy of this package from an unofficial mirror, be very careful as installing executables that require administrator privledges from untrusted websites carries a potential risk of adding your machine to a botnet and getting infected by other malware. Check that the EXE is signed with a valid Microsoft Digital Signature before running it. These unofficial mirrors are not supported or sponsered by Microsoft.

VS 2005: Windows 7.1 SDK and DirectX SDK (February 2005) were the last releases to support Visual Studio 2005.

VS 2008: Windows 7.1 SDK and DirectX SDK (June 2010) were the last releases to support Visual Studio 2008.

VS 2010: Visual Studio 2010 comes with the Windows 7.0 SDK included. You can make use of the Windows 7.1 SDK with VS 2010 by using a Platform Toolset setting. You can use the Windows 8.0 or 8.1 SDK by creating a property sheet for your project.

VS 2012: Visual Studio 2012 comes with the Windows 8.0 SDK included. Mixing the Windows 8.x SDK with the legacy DirectX SDK requires some specific build settings.

VS 2012 Update 1: Support for Windows XP the “v110_xp” Platform Toolset makes use of a Windows SDK 7.1A which is basically the same as 7.1.

VS 2013: Visual Studio 2013 comes with the Windows 8.1 SDK included.

This site uses Akismet to reduce spam. Learn how your comment data is processed.