使用Windows SDK 8.1在Windows 7上进行开发

pse*_*vin 4 windows sdk direct3d

我可以在装有Windows 7的计算机上安装Windows SDK for Windows 8.1并使用其库进行开发吗?具体来说,我想使用Direct3D库/头文件.

Chu*_*urn 6

适用于Windows 8.1Windows SDK支持为Windows Vista,Windows 7,Windows 8,Windows 8.1以及每个Windows Server等效Windows Server应用程序构建Windows桌面应用程序.重要的是您正确设置_WIN32_WINNT了目标应用程序的正确值:

  • 对于Windows 8.1支持,_WIN32_WINNT是0x0603,这是Windows 8.1 SDK/VS 2013的默认值,是您希望用于Windows 8.1和Windows Phone 8.1的Windows应用商店应用的值.

  • 对于Windows 8.x支持,_WIN32_WINNT是0x0602,这是Windows 8.0 SDK/VS 2012的默认值,是您希望用于Windows 8.0,Windows Phone 8.0和Xbox One的Windows应用商店应用的值.

  • 对于Windows 7和Windows 8.x Win32桌面支持,_WIN32_WINNT应为0x0601.

  • 对于Windows Vista,Windows 7和Windows 8.x Win32桌面支持,_WIN32_WINNT应为0x0600.

请参阅使用Windows标头

Windows SDK的Windows 8.1中自带的VS 2013中,Windows SDK中的Windows 8.0自带的VS 2012年要使用的Windows SDK的Windows 8.1在VS 2012和VS 2010,你需要使用一个属性页的解决方案,因为没有否则自动集成.请参阅Visual C++团队博客和此博客文章,其中附有所需的.props文件.

适用于Windows 8.xWindows SDK包含Direct3D 9,Direct3D 10.x,Direct3D 11.x,DirectSound,DirectInput,DirectDraw,核心DirectMusic,DirectShow,XInput 1.4或9.1.0以及XAudio 2.8的DirectX标头.有关完整目录,请参阅特定年龄的DirectX SDK.

旧版DirectX SDK:根据MSDN,旧版DirectX SDK中的许多组件已弃用,不属于Windows 8.x SDK.实际上,不推荐使用DirectX SDK本身.特别是D3DX9,D3DX10,D3DX11和XACT.对于不需要传统DirectX SDK的现代替代方案,请参阅不使用D3DX.

如果您需要使用D3DX,XACT,XInput 1.3或XAudio 2.7,那么您可以将旧版DirectX SDK与Windows 8.x SDK结合使用,但是您需要从VS切换include/lib路径的顺序2010.有关详细信息,请参阅MSDN页面.另请参阅XInputXAudio2以获取其他建议.

Windows XP:如果必须以Windows XP为目标,则必须使用Windows 7.1A SDK和特殊的平台工具集.您还需要特别针对HLSL编译器D3DCompile#43的旧版DirectX SDK.有关DirectX开发的重要说明,请参阅此文章.

部署:如果您使用Windows SDK for Windows 8.1并在运行时使用HLSL编译器或其他D3DCompile API,则需要部署所需的DLL.请参阅HLSL,FXC和D3DCompile.其他所有内容都包含在操作系统中.如果您使用任何已弃用的旧版DirectX SDK组件(如D3DX9,D3DX10,D3DX11,XInput 1.3或XAudio 2.7),则仍需要旧版DirectSetup软件包.请务必阅读Not So Direct Setup.

相关: DirectX SDK工具目录,DirectX SDK样本目录,Zombie DirectX SDK