[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: KF5 with qmake problems
From: David Faure <faure () kde ! org>
Date: 2015-09-06 9:10:29
Message-ID: 32787468.67ZoYezlcp () asterix
[Download RAW message or body]
On Saturday 25 April 2015 18:38:54 Christian Gagneraud wrote:
> On Fri, 24 Apr 2015 08:48:53 Kevin Funk wrote:
> > On Friday, April 24, 2015 17:24:34 Christian Gagneraud wrote:
> > > Hi there,
> > >
> > > I've just installed kubuntu-15.04, and I'm trying to run this tutorial
> > > [1]. I'm using stock Qt5, KF5 and Qt Creator.
> > >
> > > In my .pro file, I have "QT += KXmlGui KI18n KTextWidgets", but qmake
> > > complains with "Project ERROR: Unknown module(s) in QT: I18n", if I
> > > remove KTextWidgets, then qmake is happy (same happens with QT += KParts).
> > >
> > > Did I missed something or is it a KF5 or KUbuntu bug?
> >
> > Do you have the development packages for those libraries installed?
> >
> > I.e. on Ubuntu:
> > - libkf5textwidgets-dev
> > - libkf5i18n-dev
> > - libkf5xmlgui-dev
> >
> >
> > For helping you to debug your issue it may help to understand how this all
> > works:
> >
> > So when you do 'QT += KTextWidgets', qmake needs to find a file called
> > 'qt_KTextWidgets.pri' somewhere within the QTDIR. I.e. on Ubuntu, this
> > should be
> > /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri.
> >
> > Make sure these files are around, by installing the resp. development
> > packages.
>
> OK, I'm now having similar problems with KParts (On a KUbuntu 14.10 this
> time), I've added "QT += KParts", and I get a compilation error:
> <KParts/MainWindow> not found.
>
> $ cat /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KParts.pri
> QT.KParts.VERSION = 5.3.0
> QT.KParts.MAJOR_VERSION = 5
> QT.KParts.MINOR_VERSION = 3
> QT.KParts.PATCH_VERSION = 0
> QT.KParts.name = KF5Parts
> QT.KParts.defines =
> QT.KParts.includes = /usr/include/KF5/KParts
> QT.KParts.private_includes =
> QT.KParts.libs = /usr/lib/x86_64-linux-gnu
> QT.KParts.depends = KIOWidgets KXmlGui KTextWidgets
> $ ls /usr/include/KF5/KParts/KParts/MainWindow
> /usr/include/KF5/KParts/KParts/MainWindow
>
> So everything seems OK, but the gcc command line doesn't contain the -isystem
> /usr/include/KF5/KParts, strangely enough all include path of KParts
> dependencies are added to the command line...
This seems to be a bug in Qt.
The code in qtAddModules (qtbase/mkspecs/features/qt_functions.prf )
turns "core gui KParts" into "core gui + all the deps from KParts". But KParts itself is missing.
If I change
# Topological resolution of modules based on their QT.<module>.depends variable
$$1 = $$resolve_depends($$1, "QT.")
to
# Topological resolution of modules based on their QT.<module>.depends variable
$$1 += $$resolve_depends($$1, "QT.")
the problem is solved (note += instead of =).
Oswald, do you confirm that this is the right fix?
--
David Faure, faure@kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic