我目前安装了 Windows SDK 7.0A。此版本的 SDK 包含引用 xinput9_1_0.dll
的 Xinput.h
:
#define XINPUT_DLL_A "xinput9_1_0.dll"
我需要我的程序改用 xinput1_3.dll
。我想,为了做到这一点,我必须链接到早期版本的 Windows SDK 中的 xinput.lib
文件。
但是,哪个版本的 SDK 包含引用 xinput1_3.dll
的 Xinput.h
文件?
最佳答案
我认为解决方案实际上是通过修改项目的包含目录和库目录来使用 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
。
关于c++ - 哪个版本的 Windows SDK 使用 xinput1_3.dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6975619/