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.

Что не так с кодом? Благодарность

Ответы на вопрос(5)

Ваш ответ на вопрос