1

我目前安装了 Windows SDK 7.0A。此版本的 SDK 包含Xinput.h哪些参考xinput9_1_0.dll

#define XINPUT_DLL_A  "xinput9_1_0.dll"

我需要使用我的程序来xinput1_3.dll代替。我认为为了做到这一点,我必须链接到xinput.lib早期版本的 Windows SDK 中的文件。

但是,哪个版本的 SDK 包含Xinput.h引用的文件xinput1_3.dll

4

2 回答 2

2

我认为解决方案实际上是通过修改项目的包含和库目录来使用 Microsoft DirectX SDK(2010 年 6 月)。XInput.hDirectX SDK 中的文件...

// 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.

于 2011-08-07T23:32:50.243 回答
0

修改日期XInput9_1_0.dll为 2009-07-14,所以我会尽量使用这个版本之前的最新版本,即:v6.1 (Windows Server 2008 & .NET 3.5 SDK) from 2008-02-05

于 2011-08-07T20:39:34.273 回答