[Development] QT_GCC_MAJOR_VERSION and building with clang...
René J. V. Bertin
rjvbertin at gmail.com
Sat Dec 7 11:22:53 CET 2019
Thiago Macieira wrote:
>> QT_GCC_MAJOR_VERSION = 3
>> QT_GCC_MINOR_VERSION = 2
>> QT_GCC_PATCH_VERSION = 1
>
> This is wrong. Clang reports GCC 4.2.1, not 3.2.1.
OK, I don't know what went wrong here, the file actually does have 4.2.1 ...
> This Clang is way too old. If you have GCC from 2018, please use Clang from
> 2018 too (that would be Clang 7 minimum).
Yeah, well, I think I've said it before: I find little performance advantage in
the produced code when I use a newer clang (or indeed GCC), but definitely a
significant increase in compile duration (as well as in binary sizes).
For something like QWE I am definitely more interested in keeping compile time
and binary size down than in hypothetical performance increases.
> The problem is that it checked the GCC version before checking whether it was
> Clang. Either it does not support building with Clang (it's a possibility) or
> there's a mistake in the code.
But the version error was reported when I tried to build using GCC.
> We already do that. The information is obtained for every qmake parent project
> run.
Are you 100% certain it is done 100% of the time? This is probably where the
MAJOR_VERSION = 3 above came from: a test to see if that trickled through into
the error message.
I do out-of-tree builds and trashed the entire build directory before changing
compilers so I shouldn't have been using an out-of-date .qmake.stash file.
>> It was a test, but IMHO it should be possible (as long as you're not also
>> mixing libstdc++ and libc++).
>
> Building different parts of Qt with different compilers is not supported.
>
The test was to see if the "stdlib.h not found" error I was getting was due to
building with clang. Turns out it was due to some other improbability.
R.
More information about the Development
mailing list