1
我對C++編程和Qt比較陌生,所以這個問題可能是我對代碼依賴的理解。我試圖在我的源代碼中使用Xinput.h文件,這是Qt創建者的DirectX SDK的一部分。 我有我的解決方案的工作源代碼,編譯並在Visual Studio 2008中很好地執行,但是當我在Qt中使用它時,沒有像缺少頭文件那樣。我曾嘗試使用內置的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」在此範圍內沒有宣佈導入XInput.dll,沒有任何一個知道我怎麼可能解決這一問題?
_in和_out錯誤來自Direct X SDK中包含的Xinput.h頭文件。
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
我在主要評論的底部添加了一條額外的評論,感謝Bart。除了它的用途,恐怕我不知道更多。我還會指出,我檢查了可能需要的其他庫文件(甚至將它們全部添加進去),但沒有運氣。 – Nark