Q_OBJECT выдает ошибку «неопределенная ссылка на vtable» [дубликат]
На этот вопрос уже есть ответ:
Qt Linker Error: «неопределенная ссылка на vtable» [duplicate] 9 ответовЯ использую Qt Creator 2.0.1 с Qt 4.7.0 (32 бит) в 32-битной Windows 7 Ultimate.
Примите во внимание следующий код, который является минимумом, чтобы вызвать ошибку:
class T : public QObject, public QGraphicsItem
{
Q_OBJECT
public:
T() {}
QRectF boundingRect() const {return QRectF();}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget) {}
};
int main()
{
T t;
return 0;
}
Приведенный выше фрагмент кода вызывает следующие ошибки компоновщика:
В функции `T ':
неопределенная ссылка на `vtable for T '
неопределенная ссылка на `vtable for T '
В функции `~ T ':
неопределенная ссылка на `vtable for T '
неопределенная ссылка на `vtable for T '
Если я закомментирую строку, содержащуюQ_OBJECT
, прекрасно компилируется. Мне нужен сигнал и слоты сQGraphicsItem
так что мне нужноQ_OBJECT
.
Что не так с кодом? Благодарность