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