[Interest] [OS X] Qt 5.6.0 minimal build configuration (error compiling qlatincodec.cpp)

Thiago Macieira thiago.macieira at intel.com
Thu Mar 17 21:41:26 CET 2016


On quinta-feira, 17 de março de 2016 20:48:19 PDT René J. V. Bertin wrote:
> Thiago Macieira wrote:
> > The proper way of adding options is to modify the mkspec's qmake.conf file
> 
> qmake.conf or .qmake.conf?

mkspec/macx-clang/qmake.conf

> >> Checking my build scripts, I can confirm that CFLAGS and CXXFLAGS are set
> >> *through the environment*, not by any direct action of mine.
> > 
> > Yeah, not tested. This is the cause of your problem.
> 
> A bit easy, no? I'd say either you simply ignore settings from the
> environment, or else you do things correctly. And that would probably mean
> adding settings from the environment to whatever flags you set yourself as
> I think that's the accepted or at least usual way to do it (even CMake
> does).

Ok, I'll send the change to remove it. People will not be happy.

> Anyway, I see that I had been missing a qmodule.pri edit. For some reason Qt
> 5.5.1 built fine with QMAKE_CXXFLAGS="-O3 -march=native -g". After
> replacing that with QMAKE_CXXFLAGS+=etc the build now appears to be happy.

Because Qt 5.6 changed the point at which it adds -stdlib=libc++. In Qt 5.5, 
it happened after the qmodule.pri parsing. In Qt 5.6, it's done before.

> Shouldn't be too hard to generate that file using += instead of a simple = ?

It would just as equally break people's expectations. Autoconf-based configure 
scripts override the default settings.

> >> Hmm... those are "bootstrapped" tools. But I can't find anything that
> >> overrides  QMAKE_CXXFLAGS.
> > 
> > Can you confirm that it *is* present in src/corelib/Makefile?
> 
> When is that file supposed to be created? I don't have it immediately after
> running configure (and now of course it *will* contain the option that was
> missing).

It's created after moc and rcc are built.

That is an answer by itself. The fact that only the src/tools Makefiles are 
affected is a red herring: you only have those Makefiles to look into.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Interest mailing list