我们在Qt中要使用信号和槽的时候必须要添加Q_OBJECT宏,否则会报错。但是有时候我们添加了Q_OBJECT的时候,我们会发现同样会报错,报错如下所示:
undefined reference to 'vtable for ***(类)
面对这个报错,搞了很久了,反复检查了自己的类和头文件,发现完全没有问题呀。后来在网上搜索了一下答案,网上的方法有很多,我总结出来了两点最简单的。
一、修改.pro文件
这是最简单的一种,直接在.pro文件中,打个空格或者换行符再保存编译就行了。目的让Qt重新生成MakeFile文件。修改完成后,编译发现没有报错了。
二、直接去编译目录删除Makefile文件。
就这样就可以了,非常简单的解决办法。