Skip to content

Errors building with SDL backend on windows/mac #1335

@connorjclark

Description

@connorjclark

The SDL backend works for building with emscripten, but I can't get it to build on Windows or Mac.

cmake .. -DALLEGRO_SDL=on -DSDL2_INCLUDE_DIR="/c/Program Files/SDL2/include/"
cmake --build . -t ex_draw --config RelWithDebInfo

output:

C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(49,21): warning C4047: 'function': 'const size_t' differs in levels of indirection from '_AL_THREAD *' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_time.c(39,24): error C2065: 'ALLEGRO_TIMEOUT_SDL': undeclared identifier [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_time.c(39,37): error C2065: 'timeout_sdl': undeclared identifier [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_time.c(39,54): warning C4047: '=': 'int' differs in levels of indirection from 'void *' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(49,21): warning C4024: 'SDL_CreateThreadWithStackSize': different types for formal and actual parameter 3 [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_time.c(39,54): error C2106: '=': left operand must be l-value [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(49,21): warning C4113: 'pfnSDL_CurrentEndThread' differs in parameter lists from 'pfnSDL_CurrentBeginThread' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_time.c(40,15): error C2065: 'timeout_sdl': undeclared identifier [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(49,21): warning C4133: 'function': incompatible types - from 'pfnSDL_CurrentEndThread' to 'pfnSDL_CurrentBeginThread' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(49,21): error C2198: 'SDL_CreateThreadWithStackSize': too few arguments for call [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_time.c(40,17): error C2223: left of '->ms' must point to struct/union [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(84,11): error C2039: 'mutex': is not a member of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\include\allegro5/platform/aintwthr.h(25): message : see declaration of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(96,15): error C2039: 'mutex': is not a member of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\include\allegro5/platform/aintwthr.h(25): message : see declaration of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(97,31): error C2039: 'mutex': is not a member of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\include\allegro5/platform/aintwthr.h(25): message : see declaration of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(97,23): error C2198: 'SDL_DestroyMutex': too few arguments for call [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(98,14): error C2039: 'mutex': is not a member of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\include\allegro5/platform/aintwthr.h(25): message : see declaration of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(108,24): error C2065: 'ALLEGRO_TIMEOUT_SDL': undeclared identifier [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(108,37): error C2065: 'timeout_sdl': undeclared identifier [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(108,54): warning C4047: '=': 'int' differs in levels of indirection from 'void *' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(108,54): error C2106: '=': left operand must be l-value [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(109,38): error C2039: 'cond': is not a member of '_AL_COND' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\include\allegro5/platform/aintwthr.h(33): message : see declaration of '_AL_COND' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(109,51): error C2039: 'mutex': is not a member of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\include\allegro5/platform/aintwthr.h(25): message : see declaration of '_AL_MUTEX' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(109,69): error C2065: 'timeout_sdl': undeclared identifier [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(109,71): error C2223: left of '->ms' must point to struct/union [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_thread.c(109,31): error C2198: 'SDL_CondWaitTimeout': too few arguments for call [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_display.c(412,73): warning C4047: 'function': 'ALLEGRO_DISPLAY *' differs in levels of indirection from 'int' [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]
C:\Users\cjamc\code\allegro5\src\sdl\sdl_display.c(412,66): warning C4024: '_al_create_default_shader': different types for formal and actual parameter 1 [C:\Users\cjamc\code\allegro5\build\allegro.vcxproj]

For reference, I am using SDL 2.0.22. I tried with master allegro and with most recent published version 5.2.7.0, same issue.

Related: #1002

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions