Hallo zusammen,

ich entwickle gerade ein Programm, für das ich die qt Bibliothek verwende. Da ich damit bisher noch nie ernsthaft gearbeitet habe funktioniert natürlich nix. Da ich keine Erfahrungen habe komme ich alleine leider auch nicht weiter.
In dem Projekt sollen verschiedene Klassen ein Signal emitieren, wenn sich bestimmte Daten ändern und eine zentrale Klasse soll das dann (zunächst nur als Terminalausgabe) Darstellen. Dazu die Headerdatei
Code:
#ifndef DARSTELLUNG_H_
#define DARSTELLUNG_H_
#include <iostream>

class Darstellung{
	Q_OBJECT
private:
	int *status;
	void out();
public:
	Darstellung();
public slot:
	void setStatus(int, int);
};
#endif
und die Quelldatei
Code:
#include "Darstellung.h"

Darstellung::Darstellung() {
	status = new int[4];
	for(int i=0; i<5; i++){
		status[i] = 0;
	}
}

void Darstellung::setStatus(int n, int s){
	status[n] = s;
	out();
}

void Darstellung::out(){
	for(int i=0; i<5; i++){
		std::cout << status[i] << " ";
	}
	std::cout << std::endl;
}
versuche ich das nun über
Code:
qmake -project
qmake
make
zu kompilieren kommen die folgenden Fehlermeldungen:
Code:
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o Darstellung.o Darstellung.cpp
In file included from Darstellung.cpp:8:0:
Darstellung.h:20:8: Fehler: expected »:« before »slot«
Darstellung.h:20:8: Fehler: »slot« bezeichnet keinen Typ
Darstellung.cpp:17:41: Fehler: keine Elementfunktion »void Darstellung::setStatus(int, int)« in Klasse »Darstellung« deklariert
make: *** [Darstellung.o] Fehler 1
Natürlich bezeichnet slot keinen Typ, aber diese Schlüsselwörter sollten doch eigentlich durch den moc ersetzt werden, dafür setzt man doch extra das Q_OBJECT? Muss man den moc irgendwie speziell aufrufen? So wie ich das verstanden hatte reichen die 3 Zeilen.

Mit freundlichem Gruß
Javatar