[Interest] QVariant, enums and gcc (Qt 5.5 vs 5.6 vs 5.7)

Ch'Gans chgans at gna.org
Sat Nov 26 09:58:03 CET 2016


On 26 November 2016 at 20:02, Thiago Macieira <thiago.macieira at intel.com> wrote:
> On sábado, 26 de novembro de 2016 15:22:43 PST Ch'Gans wrote:
>> Why is QVariant behaviour changing depending on the compiler version?
>
> You did not test multiple compiler versions. Never once in your email did you
> mention a single GCC version number, let alone two. So how can you claim that
> it's the compiler version?

My bad, you are right, all my kits use the system GCC, which is my
case is "gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005".

Got confused with installation on Windows, where the
qt-online-installer install several version of gcc when using mingw,
Qt-5.5 and 5.6 use MinGW-32 4.9, Qt 5.7 uses MinGW-32 5.3.

So my code is build using the same gcc, but behave differently
depending on the qt libraries (qt-5.6-official gives different result
than qt-6.6-ubuntu).
And more disturbing, linking against qt-5.5-official gives different
behaviour than when linking against qt-5.6-official...

And it seems all qt-official 5.5, 5.6 and 5.7, have been built with
the same gcc version:
$ strings /opt/Qt/5.5/gcc_64/lib/libQt5Core.so | grep -i gcc
libgcc_s.so.1
GCC_3.0
GCC_3.4
Qt 5.5.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by
GCC 4.9.1 20140922 (Red Hat 4.9.1-10))
This is the QtCore library version Qt 5.5.1 (x86_64-little_endian-lp64
shared (dynamic) release build; by GCC 4.9.1 20140922 (Red Hat
4.9.1-10))
qt_prfxpath=/opt/Qt/5.5/gcc_64
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-9)
GCC: (GNU) 4.9.1 20140922 (Red Hat 4.9.1-10)
.gcc_except_table
$ strings /opt/Qt/5.6/gcc_64/lib/libQt5Core.so | grep -i gcc
libgcc_s.so.1
GCC_3.0
GCC_3.4
Qt 5.6.2 (x86_64-little_endian-lp64 shared (dynamic) release build; by
GCC 4.9.1 20140922 (Red Hat 4.9.1-10))
This is the QtCore library version Qt 5.6.2 (x86_64-little_endian-lp64
shared (dynamic) release build; by GCC 4.9.1 20140922 (Red Hat
4.9.1-10))
qt_prfxpath=/opt/Qt/5.6/gcc_64
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-9)
GCC: (GNU) 4.9.1 20140922 (Red Hat 4.9.1-10)
.gcc_except_table
$ strings /opt/Qt/5.7/gcc_64/lib/libQt5Core.so | grep -i gcc
libgcc_s.so.1
GCC_3.0
GCC_3.4
Qt 5.7.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by
GCC 4.9.1 20140922 (Red Hat 4.9.1-10))
This is the QtCore library version Qt 5.7.0 (x86_64-little_endian-lp64
shared (dynamic) release build; by GCC 4.9.1 20140922 (Red Hat
4.9.1-10))
qt_prfxpath=/opt/Qt/5.7/gcc_64
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-9)
GCC: (GNU) 4.9.1 20140922 (Red Hat 4.9.1-10)
.gcc_except_table

For my project:
$ strings ../build-le-ipc2581b-viewer-Desktop_Qt_5_7_0_GCC_64bit-Release/le-ipc2581b-viewer
| grep -i gcc
libgcc_s.so.1
/opt/Qt/5.7/gcc_64/lib
GCC_3.0
GCC: (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
_Unwind_Resume@@GCC_3.0
.gcc_except_table


Chris

>
> --
> Thiago Macieira - thiago.macieira (AT) intel.com
>   Software Architect - Intel Open Source Technology Center
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest



More information about the Interest mailing list