自学内容网 自学内容网

【Qt】报错error: undefined reference to `vtable for的最简单解决

1、问题描述
编译Qt程序时,在某个类构造函数定义处报错:

error: undefined reference to `vtable for

2、原因分析
导致错误信息的原因是:子类没有实现父类的纯虚函数
在Qt中,首先要想到的是在一个类中添加了新的继承QObject,并添加了 Q_OBJECT 宏,然后执行构造或重新构造,都会造成这个错误。
根本原因是,只执行构造或重新构造,都不会编译新添加的宏Q_OBJECT。因此在这之前要执行qmake,让moc编译器去预编译Q_OBJECT,然后再执行构造,就不再报错了。

3、解决方法
首先重新执行qmake,然后再执行构造。平时使用这个方法也可以解决大多数bug


原文地址:https://blog.csdn.net/weixin_68122199/article/details/143806213

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!