Where is the DirectX SDK?dxsdk
Originally posted to Chuck Walbourn's Blog on MSDN,
See “Where is the DirectX SDK (2021 Edition)?”
The DirectX SDK is now part of the Windows 8.0 SDK. The new Windows 8.0 SDK is where you’ll find DirectX 11.1, Direct2D, DirectWrite, DXGI 1.2, WDDM 1.2, DirectXMath, Feature Level 11.1 devices, XINPUT 1.4, XAUDIO 2.8, WIC2, the “Developer Runtime” (debugging layers and the REF device), and the latest HLSL compiler (
D3DCompiler_*.DLL). Samples are now shipped online and can be found at the MSDN Code Gallery. We recommend using the Windows 8.x SDK instead of the DirectX SDK, or at a minimum using the Windows 8.x SDK primarily with only specific usages of the legacy DirectX SDK.
The Windows SDK for Windows 8 (aka Windows 8.0 SDK) is included with Visual Studio 2012, and is also available as a standalone package for use with Visual Studio 2010.
The Windows SDK for Windows 8 supports building both Windows Store apps (a.k.a. Metro style apps) and desktop Win32 applications on Windows 8 and Windows Server 2012. It supports building desktop Win32 applications for Windows 7, Windows Server 2008 R2, Windows Vista, and Windows Server 2008. It cannot be directly installed on Windows Vista or Windows Server 2008.
See the MSDN page “Where is the DirectX SDK?” for a complete list of “DirectX SDK” content now available in the Windows SDK. Be sure to see the DirectXTex and DirectXTK libraries as well.
The DirectX SDK (June 2010) is still available as the last release of the standalone DirectX SDK, but we strongly encourage developers to begin to transition to using the Windows SDK instead. Instructions for ‘mixing’ use of the new Windows SDK and older DirectX SDK content can be found here. Remember that for Windows Store app development, do not use the DirectX SDK.
I’ll be posting more articles in the coming weeks to address various aspects of these changes and how it impacts game development on Windows, so stay tuned.
VS 2010 Users: The standalone Windows 8.0 SDK does not integrate a new “platform toolset” option for Visual Studio 2010 to use the newer headers. See this post for more details.
_WIN32_WINNT: When building an application that is ‘down-level’ when using headers in the Windows 8.0 SDK, be sure to explicitly select the correct ‘minimum’
_WIN32_WINNT value. For Windows 8, that is 0x0602 (which is the default when building code with Visual Studio 2012 and for all Windows Store apps). For Windows 7 use 0x0601, and for Windows Vista use 0x0600. Typically this is done as part of the project configuration via Preprocessor Definitions. See Using the Windows Headers for more information.
Developer Runtime: One of the reasons for installing the DirectX SDK is to get the ‘developer runtime’ with debug versions of various components and the reference devices. The Windows 8.0 SDK includes these debugging facilities for Direct3D 10.x/11.x, Direct2D, and DXGI for Windows 7 and Windows 8. Parts of the DirectX SDK (June 2010) developer runtime are not compatible with Windows 8, and won’t install, so the Windows 8.0 SDK is required for DirectX debugging support on Windows 8. The Windows 8.0 SDK does not include support for debugging Direct3D 9 applications. The only way to get the debug version of Direct3D 9 for Windows 8 is to install a ‘checked’ version of the OS.
IE10 Note: Be sure to read up on KB 2670838 as it impacts DirectX development on Windows 7 Service Pack 1.</p>
Redist: The vast majority of components in Windows 8.0 SDK are 'in box' with the supported versions of the OS, or have no DLL component (such as DirectXMath). There is a
redist\D3D folder in the Windows 8.0 SDK with the
D3DCSX_*.DLL which can be redistributed directly with your Win32 desktop applications (see HLSL, FXC, and D3DCompile). These DLLs support Windows Vista, Windows 7, and Windows 8. For any legacy DirectX SDK components, you must still make use of DirectSetup (be sure to read Not So Direct Setup and DXSETUP Update)
Windows 7 SDK: Note that many components of "DirectX" have been included in the Windows SDKs for years. Windows SDK 7.0A (included with VS 2010) and Windows SDK 7.1 include headers and import libraries for Direct3D9, Direct3D9Ex, Direct3D 10.x, Direct3D 11.0, Direct2D, DirectWrite, DXGI, DirectSound, DirectInput, DirectMusic "core", DirectShow, and XINPUT 9.1.0.
DXUT: The version of DXUT11 in the DirectX SDK (June 2010) is heavily tied to D3DX which requires the legacy DirectX SDK. See DXUT for Win32 Desktop Update for a newer release.
FX: The version of Effects 11 in the DirectX SDK (June 2010) needs the a few includes from the legacy DirectX SDK. See Effects for Direct3D 11 Update for a newer release.
D3DX: As noted on MDSN, all versions of D3DX are deprecated including D3DX11. See Living without D3DX.
Tools: Some of the developer tools are in the Windows 8.x SDK, others are not. See DirectX SDK Tools Catalog.
Samples: A number of samples from the DirectX SDK (June 2010) release have been updated and posted to MSDN Code Gallery. See DirectX SDK Samples Catalog. Related: DirectX SDKs of a certain age, VS 2012 and Windows 8.0 SDK RTM See also: Where is DXERR.LIB?, GDF Tools, XDSP.H, SH Math, BC6H/BC7Encoder