我遇到一個問題,我一直試圖解決,但我完全難住了。所以我有兩個類,X和Y,它們都有它們自己的頭文件,X.h和Y.h.每個都是Q_OBJECT,並在頭文件中有該宏定義。Qt -moc導致C2504:基類undefined
class Y: public X { Q_OBJECT ...}
Y讀取的定義。 X的定義如下:
class X: public QGLWidget {Q_OBJECT ...}
當我編譯時,X.cpp和Y.cpp編譯正確,在這個階段沒有問題。 moc文件也生成沒有問題。
然而,當標準的QT構建過程去編譯moc_X.cpp時,它給了我「C:\ path \ Y.h(34):error C2504:'X':base class undefined」。但是這在編譯Y.cpp或X.cpp時不會發生,它只發生在編譯moc文件時!有任何想法嗎?在moc階段這個構建將會失敗,只有moc階段看起來非常奇特。非常感謝幫助!
通過任何更改你轉發宣告類X並沒有包括頭? – blueskin