未初始化的本地变量' state'用过的

时间:2017-01-04 18:59:37

标签: visual-c++

所以我想创建一个程序,允许用户使用c ++和Visual Studio 2015将按钮映射到键盘按下。我在使用Xinput遇到了很多麻烦,我希望有人可以帮我解决一个简单的问题没有意义,因为我已经定义了它。

所以我的问题是我得到一个错误,表示函数_main中引用了未解析的外部符号_XinputGetState @ 8。

这是我的代码:

#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;
}

1 个答案:

答案 0 :(得分:0)

通常unresolved external symbols表示该函数所需的库未链接。

在这种情况下:

XInputGetState() 需要 XInputLib.libXinput9_1_0.lib

这可以通过在项目设置中添加库或通过:

来解决

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

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