Есть простейший класс:
.h файл:
#include <QGraphicsItem>
class Wall : public QGraphicsItem {
Q_OBJECT
public:
Wall(QGraphicsItem *parent = 0);
};
.cpp файл:
#include "wall.h"
Wall::Wall(QGraphicsItem *parent) : QGraphicsItem(parent){}
При компиляции выдает что-то вообще непонятное:
moc_wall.cpp:37: error: ‘staticMetaObject’ is not a member of ‘QGraphicsItem’
moc_wall.cpp: In member function ‘virtual void* Wall::qt_metacast(const char*)’:
moc_wall.cpp:51: error: ‘qt_metacast’ is not a member of ‘QGraphicsItem’
moc_wall.cpp: In member function ‘virtual int Wall::qt_metacall(QMetaObject::Call, int, void**)’:
moc_wall.cpp:56: error: ‘qt_metacall’ is not a member of ‘QGraphicsItem’
Что за беда? В коде никакого криминала не заметил. Откуда это?
PS: Debian testing, Qt 4.3.2
QGraphicsItem не наследует QObject, соотв. не может учавствовать в системе сигналов-слотов. Нужно сделать его сначала наследником QObject, а потом уже использовать...