SDL2 uses 4-byte alignment on 32-bit architectures, but cffi expects alignment to be MSVC's default of 8-bytes. The latest version of cffi detects this discrepancy and raises this error:
File "...\lib\site-packages\tcod\event.py", line 585, in get
sdl_event = tcod.ffi.new("SDL_Event*")
ffi.error: struct SDL_TouchFingerEvent: wrong total size (cdef says 48, but C compiler says 44). fix it or use "...;" in the cdef for struct SDL_TouchFingerEvent to make it flexible
The current workaround is to install the 64-bit version of Python or to pin a slightly earlier version of cffi using pip, specifically: pip install "cffi==1.12.2"
A fix would mean a rewrite of the header parser code, which needs to be rewritten anyway.
SDL2 uses 4-byte alignment on 32-bit architectures, but cffi expects alignment to be MSVC's default of 8-bytes. The latest version of cffi detects this discrepancy and raises this error:
The current workaround is to install the 64-bit version of Python or to pin a slightly earlier version of cffi using pip, specifically:
pip install "cffi==1.12.2"
A fix would mean a rewrite of the header parser code, which needs to be rewritten anyway.