[Interest] Several issues compiling Qt 4.8.4 with mingw-w64 4.8.1, possible related to "-std=gnu++11"

K. Frank kfrank29.c at gmail.com
Wed Apr 17 00:03:20 CEST 2013


Hello Kai!

First off, thanks to Kai and Thiago for their help and support
with this.

Also, I've taken the liberty of cross-posting this to the mingw64
list, just in case anyone over there knows something relevant.

On Tue, Apr 16, 2013 at 9:48 AM, Koehne Kai <> wrote:
>
>> -----Original Message-----
>> [mailto:interest-bounces+kai.koehne=digia.com at qt-project.org] On Behalf
>> Of K. Frank
>>
>> Hello Kai!
>> ...
>> First, I understand that Qt's limited usage of the std namespace means
>> (hopefully) that it avoids the ABI differences between -std=c++11 and -
>> std=gnu++98.
>>
>> My concern is the header files.  When I compile my code that uses Qt
>> (whether or not the Qt libraries compiled or whether or not there is an ABI
>> issue), I include various headers for the Qt features I am using.  I haven't
>> traced through which Qt headers include which other Qt headers, but, in
>> general, including a top-level "user" header pulls in a number of supporting
>> headers.
>
> I'm not aware anybody has systematically tried that yet.  If there are issues, _and_ there's an easy, BC compatible fix for it, I'm all for applying it to Qt 4.x.
>
> Anyhow, in the public Qt API we tend to be pretty conservative & well-behaved, so I think there's a fair chance that you'll just be able to compile your stuff . The files you mentioned (HashTable.h and JSImmediate.h) are not part of the  public API.
>
> Just give it a try and tell us what you find :)

Okay, I will try ...

Just to confirm what the proposal is:

I will build Qt without specifying "-std=gnu++11".  That is, I will not
modify qmake.conf, and I will just let "configure / mingw32-make"
do their things.

When I build my code (which will typically use various c++11 features)
I will specify "-std=gnu++11" even though I will be linking to (and using
the headers of) the Qt installation I build without "-std=gnu++11".

(I am not actually certain how to do this, but I will ask in a new thread.)

Is that the idea?

I'm not asking for any guarantees -- I understand that I am pushing
the envelope here -- but do folks think that this will probably work
(for some values of probably)?

> Regards
>
> Kai

Thanks for everyone's advice.


K. Frank



More information about the Interest mailing list