Qt:如何调试并获取信号源和插槽链接错误’;s

Qt:如何调试并获取信号源和插槽链接错误’;s,qt,linker-errors,Qt,Linker Errors,Hi有时当我更改用Qt编写的大型代码库时,在编译后,我会收到链接错误,其中提到“元对象”中的错误,但我不知道问题的根源是什么,如何从该错误中获取更多信息: 1>Linking... 1>TestDialog.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall TestDialog::metaObject(void)const " (

Hi有时当我更改用Qt编写的大型代码库时,在编译后,我会收到链接错误,其中提到“元对象”中的错误,但我不知道问题的根源是什么,如何从该错误中获取更多信息:

1>Linking...
1>TestDialog.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall TestDialog::metaObject(void)const " (?metaObject@TestDialog@@UBEPBUQMetaObject@@XZ)
1>TestDialog.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall TestDialog::qt_metacast(char const *)" (?qt_metacast@TestDialog@@UAEPAXPBD@Z)
1>TestDialog.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall TestDialog::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@TestDialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>TestDialog.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const TestDialog::staticMetaObject" (?staticMetaObject@TestDialog@@2UQMetaObject@@B)
1>debug\TestApp.exe : fatal error LNK1120: 4 unresolved externals

确保将声明TestDialog的标题(例如TestDialog.h)添加到.pro文件的HEADERS部分:

HEADERS += testdialog.h
然后重新运行qmake