[Development] Removing the -c++11 option from configure

Thiago Macieira thiago.macieira at intel.com
Mon Mar 23 14:57:38 CET 2015

On Monday 23 March 2015 08:55:36 Stephen Kelly wrote:
> Thiago Macieira wrote:
> > Anything I missed? Opinions?
> As far as I know, qmake `CONFIG += c++11` causes
>  -std=c++11
> or similar to be used on compile and link lines. For the sake of user code,
> you might want to use
>  -std=gnu++11

The reason we prefer -std=c++11 is that it allows us to write code that 
doesn't trip GNU extensions unlikely to be found on MSVC and other compilers. 
So I really want to keep -std=c++11, except for a module or two that really 
need it (QtBluetooth comes to mind due to BlueZ headers assuming GCC 
extensions are enabled).

User code has been using this flag just fine for a couple of years, so I don't 
think they need -std=gnu++11.

>  http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10214
> I don't know if that has any particular benefits for the build of Qt, but
> something to consider while on the topic, and when considering qmake users
> using `CONFIG += c++11` (though I have not seen qmake users complain about
> this).

You have good arguments there, but since CONFIG += c++11 is primarily used by 
Qt itself, I think we need to put our own needs first.
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

More information about the Development mailing list