【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

相关推荐
ULTRA??15 小时前
C++实现右折叠
开发语言·c++
豐儀麟阁贵15 小时前
9.5格式化字符串
java·开发语言·前端·面试
m0_7400437316 小时前
Axios拦截器 -- 请求拦截器和响应拦截器
开发语言·前端·javascript
程序修理员16 小时前
java+vue实现文件下载进度条
java·开发语言·vue.js
梁正雄16 小时前
10、Python面向对象编程-2
开发语言·python
Jo乔戈里16 小时前
Python复制文件到剪切板
开发语言·python
任子菲阳16 小时前
学Java第五十三天——IO综合练习(1)
java·开发语言·爬虫
繁华似锦respect16 小时前
单例模式出现多个单例怎么确定初始化顺序?
java·开发语言·c++·单例模式·设计模式·哈希算法·散列表
码农很忙16 小时前
让复杂AI应用构建像搭积木:Spring AI Alibaba Graph深度指南与源码拆解
开发语言·人工智能·python
渡我白衣17 小时前
计算机组成原理(1):计算机发展历程
java·运维·开发语言·网络·c++·笔记·硬件架构