Qt: CONFIG += C++11, but -std=c++0x

Horst Walter picture Horst Walter · Oct 22, 2013 · Viewed 23.4k times · Source

When I compile a project under Qt Creator 2.8 / Qt5.1 with VS 2010 all is fine. If I do the same with MinGW I get the following error.

 error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

I understand I need to enable C+11, but I have CONFIG += console c++11 in my .pro file. Is this not what is needed? What am I doing wrong?

When I look at the make I see:

CXXFLAGS      = -pipe -fno-keep-inline-dllexport -g -std=c++0x

Confusing, as I say c++11 in the pro file.

  1. Have deleted everything, run qmake etc, from the scratch, no result
  2. As said, with VS2010 it works
  3. Using the MinGW with gcc 4.8.0 from here. http://qt-project.org/downloads
  4. If this matters, Win7 32

Checked:

Found solution, but can only accept it in some time: https://stackoverflow.com/a/19530028/356726

Answer

Horst Walter picture Horst Walter · Oct 23, 2013

Ok, thanks to your hints I have figured it out.

After I have tried any possible advice from above, with still no success, I have excluded any subproject I could think of in my project. Eventually I have found a QML sample .pro which did not have CONFIG += c++11 defined.

That was causing the error. So the root cause was not the project I was working on, but a subproject which however got compiled in the same step.