https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108225
--- Comment #30 from Jonathan Wakely <redi at gcc dot gnu.org> --- Created attachment 54255 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54255&action=edit Disable C++11 mutex etc. when not supported by win32 threads This patch would solve the problem for <mutex> and <thread>, but would not do anything about the fact that this would still fail: #define _WIN32_WINNT 0x0502 #include <string> If you can't even include <string> then the library is unusable, so we're not going to attempt to support that. As I said in the last comment, it will work if libstdc++ is configured with the ancient value of _WIN32_WINNT, but selecting those ancient versions after installation by defining it in your own code won't work. I'll document this in the manual.