Ich hab QT über die Installationsexe installiert (mit MinGW) und die Configure.exe ausgeführt. Dieser Teil sollte eigentlich problemlos verlaufen sein. Anschließend habe ich die Header in Dev C++ (meine Entwicklungsumgebung) eingebunden und die .lib/.a Dateien angegeben.
Dann habe ich mit "qmake -project" und "qmake" die .pro-Datei bzw. die makefiles erstellt und diese in Dev C++ eingebunden.
Wenn ich nun ein Programm ohne Q_OBJECT schreibe, wird dieses fehlerlos compiliert. Wenn ich allerdings Q_OBJECT setze, erscheint unter anderem folgende Fehlermeldung:
Code: Alles auswählen
[Linker error] undefined reference to `vtable for Hauptfenster'Code: Alles auswählen
#include <QApplication>
#include <QObject>
#include <QWidget>
#include <QGridLayout>
#include <QLabel>
#include <QPushButton>
class Hauptfenster : public QWidget
{
Q_OBJECT
public:
Hauptfenster ()
{
box = new QGridLayout (this);
button[0] = new QPushButton ("Drücken1",this);
button[1] = new QPushButton ("Drücken2",this);
label[0] = new QLabel("Was ist das ?",this);
label[1] = new QLabel("Was ist das ?",this);
box->addWidget(button[0],0,0) ;
box->addWidget(label[0],0,1) ;
box->addWidget(button[1],1,0) ;
box->addWidget(label[1],1,1) ;
QObject::connect( button[0], SIGNAL(clicked()), this,
SLOT(setlabel ()));
QObject::connect( button[1], SIGNAL(clicked()), this,
SLOT(setlabel())) ;
this->show();
}
private slots:
void setlabel ()
{
label[0]->setText("Label1");
label[1]->setText("Label2");
}
private:
QGridLayout * box;
QLabel * label[2];
QPushButton * button[2];
};Ich vermute, dass der MOC irgendwie nicht arbeitet, oder was meint ihr dazu ?
Wäre über Hilfe sehr dankbar.