Games for Windows and the DirectX SDK blog

Technical tips, tricks, and news about game development for Microsoft platforms including desktop, Xbox, and UWP


Project maintained by walbourn Hosted on GitHub Pages — Theme by mattgraham
Home | Posts by Tag | Posts by Month

Windows SDK 7.1

dxsdk, visualc, windowssdk

Originally posted to Chuck Walbourn's Blog on MSDN,

If you install the “Windows XP Support” option in Visual Studio 2012 or later, then you already have the Windows 7.1A headers & libraries. They are used by the v1??_xp Platform Toolset option. See this blog post.

Known issue: The Windows 7.1 SDK installer has the same conflict issue with the updated Visual Studio 2010 REDIST files as the DirectX SDK (June 2010) release. See KB 2717426 for details.

Known issue: If you try to install the Windows 7.1 SDK on a system with VS 2012 Update 1 or later, VS 2013 or later it will likely fail. This I because these versions of Visual Studio already included a trimmed down Windows 7.1A SDK to support the “v1x0_xp” Platform Toolset. The Windows 7.1A SDK does not include samples, so if you are trying to get those legacy samples you should set up a fresh machine or VM to install the original standalone Windows 7.1 SDK, then copy out the desired files.

Windows SDK for Windows 7 and .NET Framework 4.0 (v7.1) is now available. It includes a free command-line version of the Visual C++ 2010 compiler including support for /analyze static code analysis. This release of the Windows SDK supports Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows XP SP3, Windows Vista, and Windows Server 2003 R2 using Visual Studio 2005, 2008, or 2010.

Web installer or ISO download.

Note that the DirectX SDK (June 2010) relies on the Windows SDK platform headers and libraries that shipped with the Visual Studio 2008 (Windows SDK 6.0A) or later. The WindowsTouch sample requires Windows SDK 7.0 or later to compile.

This version is slightly newer than the Windows SDK that ships with VS 2010 itself (Windows SDK 7.0A).

For VS 2005 and VS 2008, integrating Windows SDK 7.1 works the same way as it had previously updating the global settings. Be sure to reference the DirectX SDK include and lib paths before the Windows SDK to ensure proper search order.

For Visual Studio 2010, the Windows SDK 7.1 creates new platform targets for its headers which have to be selected on a project basis under the setting Platform Toolset.

This value defaults to v100 which is the VS 2010 compiler toolset and the Windows SDK 7.0A. With the Windows SDK 7.1, you get a new option Windows7.1SDK which uses the VS 2010 compiler toolset that ships in the Windows SDK along with the updated headers and libraries.

If you have Visual Studio 2008 installed, you will also be able to select v90 which is the VS 2008 compiler toolset and the Windows SDK 6.0A. The v90 is required for Managed C++ .NET 2.0 development since the VS 2010 toolset only supports .NET 4.0 development. We also use this technique with the DirectX SDK Content Exporter sample in the June 2010 release because the version of the Autodesk FBX library we use for that sample does not include VS 2010 libraries, and therefore we have to use the VS 2008 toolset to ensure we are using the VS 2008 C Runtime.

The DirectX SDK (June 2010) does not create its own Platform Toolset because it does not include a C++ compiler like the Windows SDK does. Instead, we explictly add VC++ Directory settings to each VS 2010 project that include the DX SDK path references using the $(DXSDK_DIR) variable.

The Windows 7.1 SDK includes the headers for Direct3D 9, Direct3D 10, Direct3D 11, DirectSound, DirectInput, DirectMusic ‘core’ APIs, and XInput 9.1.0. The d3dcommon.h is slightly outdated compared to the version in the Windows 8.0 SDK and the DirectX SDK (June 2010), so the newer defines like D3D_PRIMITIVE_TOPOLOGY, D3D_PRIMITIVE, D3D_SRV_DIMENSION, etc. are not defined for the Windows 7.1 SDK version. You’ll need to use D3D10_ or D3D11_ versions instead.

Update: The Windows 7.1 SDK provides the VS 2010 RTM compiler, and can overwrite VS 2010 Service Pack 1 files if installed on the system. See this for a fix.

Related: A Brief History of Windows SDKs, DirectX SDKs of a certain age