哪个版本的Windows SDK使用xinput1_3.dll?

时间:2011-08-07 20:36:04

标签: c++ dll xna winapi xinput

我目前安装了Windows SDK 7.0A。此版本的SDK包含引用Xinput.h的<{1}}:

xinput9_1_0.dll

我需要我的程序才能使用#define XINPUT_DLL_A "xinput9_1_0.dll" 。我想,为了做到这一点,我必须链接早期版本的Windows SDK中的xinput1_3.dll文件。

但是,哪个版本的SDK包含引用xinput.lib的{​​{1}}文件?

2 个答案:

答案 0 :(得分:2)

我认为该解决方案实际上是通过修改项目的include和library dirs来使用Microsoft DirectX SDK(2010年6月)。 DirectX SDK中的XInput.h文件...

// XInput.h from the DirectX SDK

#ifndef XINPUT_USE_9_1_0
#define XINPUT_DLL_A  "xinput1_3.dll"
#define XINPUT_DLL_W L"xinput1_3.dll"
#else
#define XINPUT_DLL_A  "xinput9_1_0.dll"
#define XINPUT_DLL_W L"xinput9_1_0.dll"
#endif
#ifdef UNICODE
    #define XINPUT_DLL XINPUT_DLL_W
#else
    #define XINPUT_DLL XINPUT_DLL_A
#endif 

...实际上与Windows SDK中的那个有点不同......

// XInput.h from the Windows SDK

#define XINPUT_DLL_A  "xinput9_1_0.dll"
#define XINPUT_DLL_W L"xinput9_1_0.dll"
#ifdef UNICODE
    #define XINPUT_DLL XINPUT_DLL_W
#else
    #define XINPUT_DLL XINPUT_DLL_A
#endif 

因此,默认情况下,DirectX SDK实际上会使用xinput1_3.dll

答案 1 :(得分:0)

XInput9_1_0.dll上的修改日期为2009-07-14,因此我将尝试在此版本之前使用最新版本,即v6.1(Windows Server 2008&amp; .NET 3.5 SDK) )来自2008-02-05