Namespace / Einbinden von Header Dateien
Verfasst: 25. Februar 2017 15:34
Hallo,
ich habe eine Frage bzgl. Namespace und das Einbinden von Header Dateien.
Beim Übersetzen eines Paketes tritt folgender Fehler auf:
Anbei der Auszug aus dem Quelltext (knconfigwidgets.cpp):
Es gibt die Datei knconfigwidgets.h wo NntpAccountConfDialog deklariert wird:
NntpAccountConfDialog ist u. a. von KPageDialog abgeleitet.
https://api.kde.org/4.x-api/kdelibs-api ... ialog.html
KPageDialog ist von KDialog abgeleitet. Die Funktion setButtons() ist in der Klasse KDialog definiert:
https://api.kde.org/4.x-api/kdelibs-api ... ialog.html
In der Datei knconfigwidgets.cpp ist knconfigwidgets.h eingebunden:
In knconfigwidgets.h sind u. a. eingebunden:
Dieser Fehler tritt erst auf seit ich versuche das Paket mit KF5/Qt5 zu bauen (mit KDELibs4Support).
Es wird die richtige kpagedialog.h von KF5 eingebunden (sie ist zwei mal vorhanden):
Die Funktion setButtons() wird im Namespace KNode aufgerufen. Muß ich dadurch beim Einbinden der Header-Dateien
etwas beachten?
MfG
mike
ich habe eine Frage bzgl. Namespace und das Einbinden von Header Dateien.
Beim Übersetzen eines Paketes tritt folgender Fehler auf:
Code: Alles auswählen
.../kdepim-noakonadi/knode/knconfigwidgets.cpp:454:34: Fehler: »setButtons« wurde in diesem Gültigkeitsbereich nicht definiert
setButtons( Ok | Cancel | Help );
Code: Alles auswählen
KNode::NntpAccountConfDialog::NntpAccountConfDialog( KNNntpAccount *a, QWidget *parent )
{
if ( a->id() != -1 )
setCaption( i18n("Properties of %1", a->name()) );
else
setCaption( i18n("New Account") );
setFaceType( Tabbed );
setButtons( Ok | Cancel | Help );
setDefaultButton( Ok );
...
}
Code: Alles auswählen
class KNODE_EXPORT NntpAccountConfDialog : public KPageDialog, private Ui::NntpAccountDialogBase
{
...
}
https://api.kde.org/4.x-api/kdelibs-api ... ialog.html
KPageDialog ist von KDialog abgeleitet. Die Funktion setButtons() ist in der Klasse KDialog definiert:
https://api.kde.org/4.x-api/kdelibs-api ... ialog.html
In der Datei knconfigwidgets.cpp ist knconfigwidgets.h eingebunden:
Code: Alles auswählen
#include "knconfigwidgets.h"
Code: Alles auswählen
#include <kdialog.h>
#include <kpagedialog.h>
Es wird die richtige kpagedialog.h von KF5 eingebunden (sie ist zwei mal vorhanden):
Code: Alles auswählen
/usr/include/KF5/KWidgetsAddons/kpagedialog.h
/usr/include/kde4/kpagedialog.h
etwas beachten?
MfG
mike