gpt4 book ai didi

c++ - MinGW 找不到 XInput.h header

转载 作者:行者123 更新时间:2023-11-28 07:58:04 29 4
gpt4 key购买 nike

我正在尝试通过 .bat 文件将此 main.cpp 文件编译为带有 MinGW 的 DLL。我在 Windows 上,顺便说一句,不是 Linux。

编译.bat mingw\bin\g++ "srcdll\main.cpp"-O3 -DNDEBUG -s -shared -o "D:\CPP\output\main.dll"

但是编译器一直说找不到 XInput.h。我也安装了 DirectX SDK,并且 include 和 lib 目录在我的 PATH 环境变量中。

主要.cpp

#include <windows.h>
#include <XInput.h>

#define EXPORTREAL extern "C" __declspec(dllexport) double __cdecl
#define EXPORTSTRING extern "C" __declspec(dllexport) LPSTR __cdecl

EXPORTREAL setRumble(double index, double left, double right)
{
XINPUT_VIBRATION vibration;

vibration.wLeftMotorSpeed = left;
vibration.wRightMotorSpeed = right;

XInputSetState(index,&vibration);

return index;
}

EXPORTREAL leftTrigger(double index)
{
XINPUT_STATE state;

XInputGetState(index,&state);
return state.Gamepad.bLeftTrigger;
}

EXPORTREAL rightTrigger(double index)
{
XINPUT_STATE state;

XInputGetState(index,&state);
return state.Gamepad.bRightTrigger;
}

EXPORTREAL leftThumbX(double index)
{
XINPUT_STATE state;

XInputGetState(index,&state);
return state.Gamepad.sThumbLX;
}

EXPORTREAL leftThumbY(double index)
{
XINPUT_STATE state;

XInputGetState(index,&state);
return state.Gamepad.sThumbLY;
}

EXPORTREAL rightThumbX(double index)
{
XINPUT_STATE state;

XInputGetState(index,&state);
return state.Gamepad.sThumbRX;
}

EXPORTREAL rightThumbY(double index)
{
XINPUT_STATE state;

XInputGetState(index,&state);
return state.Gamepad.sThumbRY;
}

EXPORTREAL getButtonState(double index)
{
XINPUT_STATE state;

XInputGetState(index,&state);
return state.Gamepad.wButtons;
}

EXPORTREAL checkButton(double index, double button)
{
WORD buttonWord;
XINPUT_STATE state;

buttonWord = button;

XInputGetState(index,&state);
return (state.Gamepad.wButtons & buttonWord) ? 1 : 0;
}

EXPORTREAL getCtrlState(double index)
{
XINPUT_STATE state;

return XInputGetState(index,&state);
}

BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
XINPUT_VIBRATION vibration;

vibration.wLeftMotorSpeed = 0;
vibration.wRightMotorSpeed = 0;

XInputSetState(0,&vibration);

return TRUE;
}

最佳答案

  1. 将标题路径添加到命令行
  2. 错误( undefined reference )来自链接。您应该在链接行中添加 .a/.o 的路径

关于c++ - MinGW 找不到 XInput.h header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231176/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com