Q_OBJECTマクロについて質問があります。

QGLWidgetを継承したSubクラスを作成しました。
このSubクラスでsignal, slotを用いるためにQ_OBJECTマクロを
クラス内の先頭に記述したのですが、以下のようなエラーが発生しています。

LNK2001: 外部シンボル ""public: virtual struct QMetaObject const * __thiscall SubClass::metaObject(void)const " (?metaObject@SubClass@@UBEPBUQMetaObject@@XZ)" は未解決です。

Qtのmocの置換で生成された関数である、というところまでは調べましたが、
このエラーをなくす方法が分かりません。
申し訳ありませんがご教示いただけないでしょうか。

なお、いくつか他のクラスでも(QWidget)等を継承した場合も同様のエラーが発生しました。