调试程序出现错误:error: collect2: ld returned 1 exit status
Compile output:
......
debug/moc_finddialog.o:moc_finddialog.cpp:(.rdata$_ZTV10FindDialog[vtable for FindDialog]+0x18): undefined reference to `FindDialog::~FindDialog()'
debug/moc_finddialog.o:moc_finddialog.cpp:(.rdata$_ZTV10FindDialog[vtable for FindDialog]+0xfc): undefined reference to `non-virtual thunk to FindDialog::~FindDialog()'
debug/moc_finddialog.o:moc_finddialog.cpp:(.rdata$_ZTV10FindDialog[vtable for FindDialog]+0x100): undefined reference to `non-virtual thunk to FindDialog::~FindDialog()'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\finddialog.exe] Error 1
mingw32-make: *** [debug] Error 2
The process "D:/Qt/2010.04/mingw/bin/mingw32-make.exe" exited with code %2.
Error while building project finddialog (target: Desktop)
When executing build step 'Make'
请问如何解决?
FindDialog类中是否加入了Q_OBJECT宏? 毕业论文
这样的错误最多的情况是你定义了函数却没有去实现,比如头文件定义了一个函数void A();
哪怕你只写一个空函数
void ....::A()
{}
也是正确的,如果不写就会报这个错,这个错误是比较常见的,仔细检查一下程序,仅供参考
还有一种情况是要是在win下用SDK版本的话,你运行了一次执行了生成的界面文件,你没有关闭这个界面文件又再次执行程序,好像也是报这个错,记得好像是,现在一直是在linux下用qvfb开发,以前在win下是这样的情况