【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

相关推荐
沫璃染墨1 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss
达子6662 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
道尔柯南3 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
楠楠子呀3 小时前
英语、西语、阿语客户各开一个口:多语言获客的分流方案
开发语言·javascript·ecmascript·跨境电商·whatsapp·营销工具
tachibana23 小时前
使用for range 的时候,它的地址会发生变化吗?
开发语言·后端·golang·go·语法
临床数据科学和人工智能兴趣组3 小时前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
王中阳Go3 小时前
Go 后端转 AI:非科班怎么补?一张 3 列路线表(可保存)
开发语言·人工智能·后端·python·golang·大语言模型
geats人山人海4 小时前
java 4继承
java·开发语言
aqiu1111114 小时前
【C++算法打怪专栏】C++ `unordered_set` 常用初始化与插入方法总结
开发语言·c++·算法
众链网络4 小时前
Agent 的成本大头不在“写“,在“判断“:拆解专用决策模型的三层架构
java·开发语言·人工智能·微服务