building KF5 projects against a different Qt5 version (than the one the KF5 frameworks were built against)
David Faure
faure at kde.org
Sun Apr 26 15:58:10 BST 2020
On Sunday, April 26, 2020 4:32:46 PM CEST René J.V. Bertin wrote:
> On Sunday April 26 2020 15:46:35 David Faure wrote:
> >Well, yeah, you can't have it all.
>
> I suppose that the appropriate ECM could provide a function that returns the
> path to the "official" Qt headers (or an expression that evaluates to that
> path) unless something like QT_HEADER_PATH is defined. Idem for linker
> paths. Of course then individual frameworks would still accept to use those
> functions.
None of that would work with imported targets.
> >Or, you can, but you need two full builds.
>
> Yeah, I don't think that what I was trying is important enough to warrant
> the investment that comes with having another build...
Your choice.
> >There's no such central header in KF5 frameworks (which are more modular,
> >by definition), so you need to include the framework_version.h header.
>
> Don't you think it'd make sense to expect the version to be defined if you
> include the KFoo header if framework Foo provides one (I count 17 that do,
> among the 60+ frameworks I installed)?
No. There's no "main header" concept. As you say, this would only work for
17/60 frameworks anyway, not really a good solution.
> As a side-note, I'd even argue that
> it would make sense to provide an all-inclusive header per framework, just
> like Apple's frameworks do.
It's said to improve compilation times with precompiled headers, but in
practice nobody knows if the person compiling the code has that, so I fail to
see the point.
Who needs all of <KCoreAddons>? Nobody.
> >We have -Wundef by default.
>
> Yes, in the compiler settings, which is why I caught the FOO_VERSION not
> defined thing purely by chance rather than because of unexpected behaviour
> at runtime.
I wouldn't call this "purely by chance". I set -Wundef there for a reason :-)
> KDevelop doesn't include the flag in its options for the
> clang-based parser.
OK, talk to the KDevelop people then :-)
--
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5
More information about the Kde-frameworks-devel
mailing list