Windows 7 Ultimate 32 ビットで Qt Creator 2.0.1 と Qt 4.7.0 (32 ビット) を使用しています。
エラーを生成するための最小限の次のコードを検討してください。
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' では:
「T の vtable」への未定義の参照
「T の vtable」への未定義の参照
関数 `~T' では:
「T の vtable」への未定義の参照
「T の vtable」への未定義の参照
を含む行をコメントアウトすると、正常にQ_OBJECT
コンパイルされます。シグナルとスロットがQGraphicsItem
必要なので、 が必要Q_OBJECT
です。
コードの何が問題になっていますか? ありがとう。