I’ve tried the Lazy Foo tutorials for Mac OS X using Xcode, as well as building SDL2 myself (following the Linux tutorials) and running it. I’ve also tried the code from the SDL_CreateWindow docs page.
I have no problems compiling. It compiles fine. When I run it, whether with ./01_hello_SDL or hitting the play button in XCode, I can see that something runs (the spinning wheel comes up in the GUI for Xcode or in the top right of terminal when running with ./filename). However, I don’t see any window or image popup.
There’s some window sizing and state change stuff that MacOS puts on the event queue that most likely needs to get consumed and removed from the event queue before the OS considers the window “finished” and shows it, or something along that line.
A quick little test app with SDL 2.0.10 run on MacOS 10.15.1 shows that there were 5 events waiting in the queue right after the window was created: SDL_WINDOWEVENT_FOCUS_GAINED, SDL_WINDOWEVENT_ENTER, SDL_MOUSEMOTION, SDL_WINDOWEVENT_SHOWN, SDL_WINDOWEVENT_EXPOSED.
In a normal game or app, this isn’t a problem since you’re going to set up an event queue anyway.