Yeah, SDL paths are a friggin' nightmare and are by far my main gripe with SDL. Sometimes you have to have the SDL headers under a SDL2/ folder, other times you don't. It seems to me that there is no way to specify the paths in code that works on both Windows and Mac/Linux, out of the box.
Then there's the fact that SDL_image uses #include <SDL.h>
, even though SDL itself uses <SDL2/SDL.h>
. So charming.
But I did manage to get it to work, at least a few times. My notes say:
(using the Developer Command Prompt app):
- In the Build folder (with appropriate symlink to SDL2), run the following build command.
cl /EHsc /I. /ISDL2 /IMiniScript /I..\..\..\SDL2_image-2.0.5\include /wd4068 *.cpp MiniScript/*.cpp compiledData/*.c /Fesoda.exe /link ..\..\..\SDL2-2.0.16\lib\x86\SDL2.lib ..\..\..\SDL2-2.0.16\lib\x86\SDL2main.lib ..\..\..\SDL2_image-2.0.5\lib\x86\*.lib Shell32.lib /SUBSYSTEM:CONSOLE
- Move the resulting soda.exe into the Build folder, where we have all the needed DLLs: libjpeg-9, libpng16-16, libtiff-5, libwebp-7, SDL2, SDL2_image, and zlib1.
I hope this helps! If not we'll have to just keep experimenting, and/or hop into the SDL discord and plea for help.