Я относительно новичок в программировании на C++ и Qt, поэтому эта проблема, вероятно, является моим недостатком понимания взаимозависимости. Я пытаюсь использовать файл Xinput.h в своем исходном коде, который является частью DirectX SDK с создателем Qt. У меня есть исходный код для моего решения, которое компилируется и выполняется отлично в Visual Studio 2008, однако, когда я прихожу использовать его в Qt, нет такого, как файл заголовка отсутствует. Я пытался импортировать XInput.dll с помощью встроенного libary сумматорКак настроить Qt - DirectX - Xinput.h
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x64/ -lXInput
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x64/ -lXInputd
else:symbian: LIBS += -lXInput
else:unix: LIBS += -L$$PWD/../../../../../Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x64/ -lXInput
INCLUDEPATH += $$PWD/../../../../../Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x64
DEPENDPATH += $$PWD/../../../../../Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x64
Однако это не может скомпилировать дать мне «_in» не был объявлен в этой области, делает любой знает, как я мог бы это исправить?
Ошибки _in и _out взяты из заголовочного файла Xinput.h, включенного в Direct X SDK.
DWORD WINAPI XInputGetState
(
__in DWORD dwUserIndex, // Index of the gamer associated with the device
__out XINPUT_STATE* pState // Receives the current state
);
Я думал, я бы включать в себя демо-версию для тех, кто не зная, что происходит:
Файл .pro из QT:
QT + = ядро
QT -= gui
TARGET = testxbox
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += "...path to include file.../Include"
win32: LIBS += -L$$PWD/../../../Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib/ -lXinput
INCLUDEPATH += $$PWD/../../../Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib
DEPENDPATH += $$PWD/../../../Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib
Тогда я просто попробуйте включить Xinput.h в мои исходные файлы, и я получаю множество ужасающих сообщений. Windows VS 2008 просто дайте мне сделать
#include <windows.h>
#include <XInput.h>
#pragma comment(lib, "XInput.lib")
и он работает?
Откуда этот '_in'? Покажите нам код, лежащий в основе проблемы. – Bart
Я добавил дополнительный комментарий в нижней части основного комментария, спасибо Барту. Боюсь, я не знаю гораздо больше об этом, кроме его использования. Я также хотел бы отметить, что я проверил дополнительные файлы библиотеки, которые могут понадобиться (даже добавили их все), но не повезло. – Nark