我可以在装有Windows 7的计算机上安装Windows SDK for Windows 8.1并使用其库进行开发吗?具体来说,我想使用Direct3D库/标题。
答案 0 :(得分:6)
适用于Windows 8.1的Windows SDK 支持为Windows Vista,Windows 7,Windows 8,Windows 8.1和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手机的Windows应用商店应用的值8.0和Xbox One。
对于Windows 7和Windows 8.x Win32桌面支持,_WIN32_WINNT
应为0x0601。
对于Windows Vista,Windows 7和Windows 8.x Win32桌面支持,_WIN32_WINNT
应为0x0600。
Windows SDK for Windows 8.1 附带VS 2013, Windows SDK for Windows 8.0 附带VS 2012.使用 Windows SDK for Windows 8.1 使用VS 2012或VS 2010,您需要使用属性页解决方案,因为否则不会进行自动集成。请参阅附加了所需.props文件的Visual C++ Team Blog和此blog post。
适用于Windows 8.x的Windows SDK 包含Direct3D 9,Direct3D 10.x,Direct3D 11.x,DirectSound,DirectInput,DirectDraw,核心DirectMusic,DirectShow,XInput 1.4或9.1.0和XAudio 2.8。有关完整目录,请参阅DirectX SDKs of a certain age。
旧版DirectX SDK:根据MSDN,旧版DirectX SDK中的许多组件已弃用,不属于Windows 8.x SDK。实际上,不推荐使用DirectX SDK本身。特别是D3DX9,D3DX10,D3DX11和XACT。对于不需要旧版DirectX SDK的现代替代方案,请参阅Living Without D3DX。
如果您需要使用D3DX,XACT,XInput 1.3或XAudio 2.7,那么您可以将旧版DirectX SDK与Windows 8.x SDK结合使用,但需要切换include / lib路径的顺序从VS 2010开始。有关详细信息,请参阅MSDN页面。另请参阅XInput和XAudio2以获取其他建议。
Windows XP:如果必须使用Windows XP,则必须使用Windows 7.1A SDK和特殊的平台工具集。您还需要特别针对HLSL编译器D3DCompile#43的旧版DirectX SDK。有关DirectX开发的重要说明,请参阅this post。
部署:如果您使用 Windows SDK for Windows 8.1 并在运行时使用HLSL编译器或其他D3DCompile API,则需要部署所需的DLL。见HLSL, FXC, and D3DCompile。其他所有内容都包含在操作系统中。如果您使用任何已弃用的旧版DirectX SDK组件(如D3DX9,D3DX10,D3DX11,XInput 1.3或XAudio 2.7),则仍需要旧版DirectSetup软件包。请务必阅读Not So Direct Setup。
相关: DirectX SDK Tools Catalog,DirectX SDK Samples Catalog,The Zombie DirectX SDK
答案 1 :(得分:1)
所以是的,你可以做到。在Visual Studio 2013中,默认情况下包含包含direct3d的Windows SDK 8.1。