Yeah, I found some of your posts after I asked here
I personally really liked the idea of not having to think about libgcc and libstdc++, but I must say that I didn't think it through. You're absolutely right about the non-standard behaviour.
Sooner or later you'll have to think about it.
I saw that you recommended the "MinGW Builds" distributions and have a question about it (as I'm not very deep into different compilers yet ): Whats the difference to the "standard" MinGW suite from mingw.org? Its pretty confusing to read about different gcc Versions (mingw, tdm, mingw builds etc.) and still finding a "mingw" directory in every one of them.
Yeah it's confusing and it took me a while to get it as well.
MinGW or MinGW32 is where it all started, a way to use GCC on Windows. At some point someone needed a 64bit version for their company and thus that company created their own version and later on made it Open Source. The guy tried to talk with the MinGW32 team to merge the code base, but because of some idiotic and elitist reasons things didn't work out and
MinGW-w64 was born.
From what I understand both versions are based off the official GNU tools, but use different building mechanisms and are of course at different states. While MinGW32 only comes with a 32bit compiler for 32bit applications, MinGW-w64 can do both 32bit and 64bit.
But as with SFML, having a code base (MinGW vs MinGW-w64) doesn't say anything about the builds. That's where packages like MinGW Builds, TDM Builds or rubenvb Builds come into play.
MinGW32 has its own release cycle with their fixed settings.
MinGW-w64 has automated builds, but I've never used them. MinGW-w64 also has personal builds. In the past those were done by a few people, most actively by rubenvb and lately MinGW Builds are taking over.
MinGW Builds provides a various range of builds, so you're not tied to SJLJ or DWARF or pthread or win32 thread, but you got the choice.
So to get back to your question.
There's a code base difference between MinGW32 and MinGW-w64. The differences in builds are mostly just the different settings - which make them still incompatible.