2017-01-04 1 views
0

Also möchte ich ein Programm erstellen, das es Benutzern ermöglicht, Tastaturbefehle mithilfe von C++ mit Visual Studio 2015 zuzuordnen. Ich hatte eine Menge Ärger mit Xinput und hoffte, dass jemand helfen könnte Ich mit einem einfachen Problem, das keinen Sinn macht, wie ich es definiert habe.Nicht initialisierte lokale Variable 'state' verwendet

Also mein Problem ist, bekomme ich einen Fehler, der nicht aufgelöste externe Symbol _XinputGetState @ 8 in Funktion _main verwiesen verweist.

Hier ist mein Code:

#include "stdafx.h" 
#include <windows.h> 
#include <iostream> 
#include <Xinput.h> 

using namespace std; 

int main() { 
    XINPUT_STATE state; 
    ZeroMemory(&state, sizeof(XINPUT_STATE)); 

    if (XInputGetState(0, &state) == ERROR_SUCCESS) 
    { 
    cout << "It worked!" << endl; 
    } 

    bool A_button_pressed = ((state.Gamepad.wButtons & XINPUT_GAMEPAD_A) != 0); 
    cout << A_button_pressed << endl; 
} 
+0

'XInputGetState' ** erfordert **' Xinput.lib' und 'Xinput9_1_0.lib:

Dies kann durch Hinzufügen der Bibliotheken in den Projekteinstellungen oder über aufgelöst werden '. Hast du sie zu deinem Projekt hinzugefügt? Versuchen Sie '' pragma Kommentar (lib, "Xinput.lib") 'und' #pragma Kommentar (lib, "Xinput9_1_0.lib") 'direkt unter Ihrem' include's (XInput.h) –

+0

@ViniyoShouta vielen Dank es funktionierte! –

+0

froh, dass ich helfen könnte! Wenn Sie möchten, können Sie die Antwort unten akzeptieren, also hat diese Frage einen. Wenn Ihnen jemals wieder etwas Ähnliches passiert, können Sie die entsprechende Funktion mit nicht aufgelösten externen Symbolen durchsuchen und prüfen, welche Bibliotheken für den Fall benötigt werden, dass Sie sie nicht kennen. –

Antwort

0

Im Allgemeinen unresolved external symbols bedeutet, dass eine Bibliothek für die Funktion nicht benötigt, verbunden ist.

In diesem Fall:

XInputGetState()erfordertXInputLib.lib und Xinput9_1_0.lib.

#pragma comment(lib,"XInput.lib")

#pragma comment(lib,"Xinput9_1_0.lib")

Verwandte Themen