转自:http://blog.csdn.net/qian_f/article/details/8498747
在Qt中自定义了类classname,想要使用Qt自带的信号与槽机制,所以必须要将classname继承于QObject。
class classname : public QObject
{
Q_OBJECT
public:
.......
}
修改之后保存,就出现了undefined reference to `vtable for classname`的报错。
网上找了相关资料得知原因在于:因为qmake生成Makefile的时候,这个类的头文件中并没有Q_OBJECT,最终导致链接失败。
解决方法:重新运行qmake(右击项目名称,点击“执行qmake”)即可。