我可能會丟失一些明顯的東西,但我無法擺脫我的Qt用戶界面中的鏈接錯誤。LNK2019構造函數與QGraphicsView子類
我已經隔離了導致問題的部分。基本上,我正在實現一個QGraphicsView
的子類來顯示交互式開銷圖。出於某種原因,我無法讓構造函數得到解決。
OverheadMap.h:
#ifndef OVERHEADMAP_H
#define OVERHEADMAP_H
#include <QGraphicsView>
class OverheadMap : public QGraphicsView {
Q_OBJECT
public:
OverheadMap();
};
#endif // OVERHEADMAP_H
OverheadMap.cpp:
#include "OverheadMap.h"
OverheadMap::OverheadMap() {
// Body
}
main.cpp中:
#include "OverheadMap.h"
int main(int argc, char *argv[])
{
OverheadMap *map = new OverheadMap();
}
LNK2019:
main.obj:-1: error: LNK2019: unresolved external symbol "public: __thiscall OverheadMap::OverheadMap(void)" ([email protected]@[email protected]) referenced in function _main
我可以沒有任何麻煩地使用QtCreator的OverheadMap
自動完成,並且我已經完成了一個類似的工作的QFrame的子類實現,所以我懷疑這裏有一個語法錯誤。
我錯過了什麼?
謝謝。
而文件'OverheadMap.cpp'是否在你的項目中並正在構建? –
確保你已經爲你的項目重新生成了Qt生成的文件。任何新類都不會理解像Q_OBJECT這樣的Qt語法,除非它們擁有自己的文件。 – Lochemage
''OverheadMap.cpp'在源文件夾中就像我創建的每個.cpp文件一樣,並且我嘗試了至少10次清理/重建。我甚至嘗試關閉/重新打開QtCreator。 –