https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97484
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Brecht Sanders from comment #3) > MinGW is pure C, so it doesn't use: using namespace std; > But I do see Ninja doing this before including windows.h. Then it is Ninja that needs to be fixed. One can use using namespace std;, but better only after including all headers one has no control over, because it significantly affects name lookup. > However GCC 10 and older have no issue with this. > What changed in GCC 11 to cause the issue? GCC 11 defaults to -std=c++17, while GCC 10 defaulted to -std=c++14. I bet it won't compile even with GCC 10 if you use -std=c++17.