So far, things are looking just fine trying out SFML. (Though I'm wondering why there isn't a tag for it here...)
The Visual Studio setup tutorial over on their website strongly cautions that you need to match the download version to your version of Visual C++. As of this moment, their latest download version is labeled "Visual C++ 15 (2017)". So far, I have had no problem getting this to work with Visual Studio 2019. I chose to use static linking, meaning I won't need to include the SFML DLL's in my release. The only catch to this is with the audio module, which does require "openal32.dll" (one of SFML's dependencies on an external library).
To allow the use of a regular "main" function (instead of "WinMain" or whatever Windows wants these days), there are two steps:
- You need "sfml-main.lib" (or "sfml-main-d.lib") as a linker input.
- To ensure that the console doesn't appear, change "SubSystem" to "Windows (/SUBSYSTEM:WINDOWS) under Linker -> System.
Once I get all of the project setup done, I was able to do a few simple tests creating windows, drawing graphics, playing sound, and accepting user input. I'm feeling ready to go for my "Snake" clone! ?
I personally love using SFML. I've used Allegro, SDL 1 and 2, and others but I always come back to SFML. If I'm working on a quick 2D game I find SFML extremely easy to work with, plus I can just include any custom C++ classes I've made for quick development.
Looking forward to seeing your snake clone!