【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

相关推荐
从零开始的代码生活_13 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸13 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++
Quz13 小时前
QML 信号与槽:直接绑定与跨文件通信
qt·编程语言·设计
GIS阵地14 小时前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
yaoxin52112314 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
groundhappy14 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
小钻风336615 小时前
Spring Boot 文件上传详解:深入理解 MultipartFile 的使用与原理
java·开发语言
qq_4523962316 小时前
第二篇:《Go 开发环境搭建:SDK、IDE、Module 与 Hello World》
开发语言·ide·golang
天青色等烟雨..16 小时前
全流程ArcGISPro空间分析、三维建模、可视化及Python融合应用技术
开发语言·python
丰锋ff17 小时前
1.2 Qt常用基础类型
开发语言·qt