在Qt中,undefined reference to ‘vtable for ** 通常出现在打开了宏 Q_OBJECT的程式当中。
原因分析:qmake 不会处理.cpp文件里的Q_OBJECT,所以,如果在.cpp文件中有它的话,会产生undefined reference to vtable for “xxx::xxx”. 的错误
生成moc是根据Makefile来的,而Makefile是由pro文件来的,在pro文件中找问题。
解决方案:
在pro文件中加入moc 转化文件的路径。
即加入:
MOC_DIR = temp/moc