Какая версия Windows SDK использует xinput1_3.dll?

В настоящее время у меня установлен 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?

2 ответа

Решение

Я думаю, что на самом деле решение заключается в том, чтобы использовать Microsoft DirectX SDK (июнь 2010 г.), изменив директории include и library для вашего проекта. XInput.h файл из DirectX 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,

Дата изменения XInput9_1_0.dll читает 2009-07-14, поэтому я постараюсь использовать последнюю версию до этого выпуска, а именно: v6.1 (Windows Server 2008 и.NET 3.5 SDK) от 2008-02-05

Другие вопросы по тегам