【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

相关推荐
郑州光合科技余经理14 分钟前
本地生活系统:多业务订单字段怎么分账本导出
java·开发语言·前端·数据库·uni-app·php·ai编程
weixin199701080161 小时前
《跨境二手ERP的3种对接模式:自研API / SaaS中间件 / 平台认证服务商,怎么选?》(附Python源码)
开发语言·python·中间件
传奇开心果编程3 小时前
【Rust入门知识点学与练】第24课:Trait 基础
开发语言·学习·rust
lqj_本人7 小时前
WinPcap 鸿蒙 PC 适配全记录:从 NPF 原始抓包到 VPN_TUN 与 libpcap 双通路
qt·华为·harmonyos
言乐69 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
金金计较.9 小时前
Go语言-3
java·开发语言·golang
张小凡vip10 小时前
python--爬虫--经验积累的遇到的坑
开发语言·爬虫·python
Quz10 小时前
QML StackView:三种入栈方式(Item、Component 与 URL)
qt
Wang's Blog10 小时前
Java框架快速入门: Spring Security+OAuth2之云服务集成与多因子认证设计
java·开发语言·spring
Quz10 小时前
QML StackView:入栈、出栈、替换与批量操作
qt