今天在使用Qt5中,使用类向导添加自定义类后,并添加Q_OBJECT宏,出现报错:error: undefined reference to `vtable for xxxx'
印象中,VS 报此错误一般是虚函数没有实现,仔细检查自定义类,并未发现代码异常。
在Qt中如果要使用信号槽就必须添加Q_OBJECT宏,至于Q_OBJECT宏的作用可以查看帮助里的介绍。要使用Q_OBJECT宏,就必须继承QObject类
如果自定义类型要添加使用Q_OBJECT宏可以通过如下方法:
1. 继承QObject
2. 修改pro文件(也就是文件带*),以达到修改makefile文件的目的(添加删除,空行空格都可以),只要修改pro文件就行。
3. 重新编译