2017-03-02 24 views
2

mingw64の最近のアップデートがSDLライブラリとの互換性を壊したと思いますが、わかりません。mingw64の現在のバージョンはSDLライブラリと互換性がありませんか?以前にないコンパイラエラー

既知の回避策はありますか?既知の作業バージョンに戻すのは簡単ですか?私はこれを非常に頻繁にコンパイルせず、それにかなり慣れていません。

typedef struct 
{ 
    WORD wButtons; 
    BYTE bLeftTrigger; 
    BYTE bRightTrigger; 
    SHORT sThumbLX; 
    SHORT sThumbLY; 
    SHORT sThumbRX; 
    SHORT sThumbRY; 
    DWORD dwPaddingReserved; 
} XINPUT_GAMEPAD_EX; 

typedef struct 
{ 
    DWORD dwPacketNumber; 
    XINPUT_GAMEPAD_EX Gamepad; 
} XINPUT_STATE_EX; 

中:あなたはこのコードをコメントアウトするように限り、両方のファイル内のtypedefの署名はまったく同じですように見える、

CC src/haptic/windows/SDL_syshaptic.o 
In file included from src/haptic/windows/SDL_syshaptic.c:34:0: 
src/haptic/windows/../../joystick/windows/SDL_dxjoystick_c.h:69:3: error: conflicting types for 'XINPUT_GAMEPAD_EX' 
} XINPUT_GAMEPAD_EX; 
    ^~~~~~~~~~~~~~~~~ 
In file included from src/haptic/windows/../../joystick/windows/SDL_dxjoystick_c.h:42:0, 
       from src/haptic/windows/SDL_syshaptic.c:34: 
C:/msys64/mingw64/x86_64-w64-mingw32/include/xinput.h:182:3: note: previous declaration of 'XINPUT_GAMEPAD_EX' was here 
} XINPUT_GAMEPAD_EX, *PXINPUT_GAMEPAD_EX; 
    ^~~~~~~~~~~~~~~~~ 
In file included from src/haptic/windows/SDL_syshaptic.c:34:0: 
src/haptic/windows/../../joystick/windows/SDL_dxjoystick_c.h:75:3: error: conflicting types for 'XINPUT_STATE_EX' 
} XINPUT_STATE_EX; 
    ^~~~~~~~~~~~~~~ 
In file included from src/haptic/windows/../../joystick/windows/SDL_dxjoystick_c.h:42:0, 
       from src/haptic/windows/SDL_syshaptic.c:34: 
C:/msys64/mingw64/x86_64-w64-mingw32/include/xinput.h:192:3: note: previous declaration of 'XINPUT_STATE_EX' was here 
} XINPUT_STATE_EX, *PXINPUT_STATE_EX; 
    ^~~~~~~~~~~~~~~ 
make[2]: *** [Makefile:168: src/haptic/windows/SDL_syshaptic.o] Error 1 
make[2]: Leaving directory '/c/{redacted}/sdl2' 
make[1]: *** [Makefile:24: sdl2] Error 2 
make[1]: Leaving directory '/c/{redacted}' 
make: *** [Makefile:13: all] Error 2 

答えて

1

オーケー:ここ

は、コンパイラエラーです"xinput.h"または "SDL_dxjoystick_c.h"のいずれかでコードをコンパイルできます。

これは明らかに単なる措置です。私はSDLライブラリコードはおそらく最新のmingwコードとの互換性を維持するための更新が必要だと思います。

関連する問題