QT开发中的"Undefined reference to vtable ***" 的问题解决办法

解决Qt报“undefined reference to vtable for“错误 今天在Qt工程里添加一个新类OneFunc,点击Qt工具栏的[构建项目]菜单栏时,弹出"undefined reference to vtable for OneFunc"错误。这里以OneFunc新类,添加到Qt工程HelloDesk为例,进行说明。出现该问题的原因,主要有4种: a)该新类没有添加到工程的.pro文件里; b)该新类含有Q_OBJECT宏,没有执行qmake命令; c)该新类的析构函数,缺少virtual关键字修饰; d)该新类的ui, 缺少.moc文件,需要重新moc一下; 阅读详情

这个错误是QT初学者一定会遇到的。这个错误是因为moc编译有一些限制引起的

解决办法:

1、不要把Q_OBJECT宏声明在cpp源文件中,把它放到.h头文件中

2、删除生成的makefile文件,重新qmake

解决Qt Linker Error: “undefined reference to vtable” 错误 确保文件在你的.pro文件的HEADERS。 阅读详情

相关推荐

Q_OBJECT 抛出 ‘undefined reference to vtable‘ 错误

遇到错误时,往往是因为 MOC 生成的文件未正确包含在项目中。通过分离头文件与源文件、适当配置.pro文件、在源文件中包含以及重新运行qmake,可以解决此问题。希望本文的方法能帮助你解决类似的编译问题。

电脑管家 577

Qt报错error: undefined reference to `qMain(int, char**)‘的原因以及解决方法

error: undefined reference to `qMain(int, char**)'

2301_78803982的博客 3152

SEMI E40标准的加工任务状态模型(Process Job State Model)解析

半导体制造设备的自动化控制离不开对加工任务(Process Job)的精细管理。SEMI E40标准定义了加工任务的全生命周期状态模型。分层建模,支持嵌套与并发子状态,确保复杂流程的灵活控制。SEMI E40通过。

bengg123的博客 1775

Qt 出现“undefined reference to `vtable for”原因总结

       由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程序的时候,会遇到各种各样这样那样的问题,而且很多是很难,或者根本找不到原因的,即使解决了问题,如果有人问你为什么,你只能回答--不知道。       &nbsp...

huangyibo007的专栏 3977

白盒测试逻辑覆盖之谓词覆盖、子句覆盖、三类有效字句覆盖等知识点

本篇笔记会简化书本上的概念,用容易理解的方式来说明,有些例子打字麻烦,我会直接放图片! 目录 基础知识: 谓词覆盖predicate coverage 子句覆盖 clause coverage 组合覆盖 combinatorial coverage 有效字句覆盖Active Clause Coverage 广义有效子句覆盖(General Active Clause Coverage) 相关性有效子句覆盖(Correlated Active Clause Coverage) 限制性有效

weixin_46019681的博客 2664

用deepseek部署全自动的机器人--bytebot

Bytebot是一款开源AI桌面代理,提供完整的虚拟桌面环境,支持跨应用任务处理、文件管理、文档处理等复杂工作流。其技术架构包含核心控制、LLM代理、UI等组件,支持Docker和Kubernetes部署。本文演示了基于CloudStudio的部署流程,包括环境配置、Docker部署及DeepSeek API集成,实现多模型调用功能。

Kin 2481

Qt中undefined reference to报错的三种可能性和解决方法(以libgdal为例)

问题是很好解决的,就是把缺的依赖再给他装上去就好了,特别提醒一下,别的依赖都好找,直接sudo apt install XXXXX多试几回,基本也就找到了,这其中有两个库不是很好找,libmfhdfalt和libdfalt,这两个库需要安装libhdf4-alt-dev来解决。用C++写代码的都知道,在C++中,代码是分为声明和定义的,声明就是告诉编译器有这个函数,换言之,就是个名字,而定义,就是具体这个函数的实现内容。好吧,首先我能保证的是,有之前调试代码过程中,这些报错一定是没有出现的。

顺其自然~专栏 1万+

从编译到启动:RV1106嵌入式Linux系统构建的效率优化与深度实践

本文深入探讨RV1106嵌入式Linux系统构建的全流程优化策略,重点提升编译速度和驱动加载效率。通过并行编译配置、内核裁剪、驱动加载优化和硬件辅助加速等实践方法,显著缩短系统构建和启动时间,为嵌入式开发提供实用指导。

ttt77的博客 1032

Qt 出现“undefined reference to `vtable for”原因总结;

由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程序的时候,会遇到各种各样这样那样的问题,而且很多是很难,或者根本找不到原因的,即使解决了问题,如果有人问你为什么,你只能回答--不知道;今天我在这里列举的问题也是再编写Qt程序时,总是遇到的问题,问题普遍,而答案却不唯一,解释这一个问题的说法很多,往往只适合某一种情况,因为这个错误太笼统了,它就是-- “undefined reference

静水深流 3万+

《数据结构》02-线性结构1 两个有序链表序列的合并

题目 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next;...

叫我皮卡丘 7665

勇闯dify v1.0.0之设置模型供应商。解决:Reached maximum retries (3) for URL https://marketplace.dify.ai/

朋友们,大家好,今天带大家来勇闯dify v1.0.0。为什么叫勇闯呢?我就这么说吧,本来我昨天就想带大家勇闯v1.0.0的。但是dify的marketplace访问不了。公司的网和手机热点都试了,就是访问不了。我们连个模型都没有,还勇闯个球啊,对吧,就搁置了。今天,我赶紧看看这个marketplace好了没。一看,可以了。赶紧写下这篇博客,帮助同志们走出困境。

xiezhipu的博客 4616

undefined reference to `vtable for’”问题的原因及解决方法

如果使用QtCreator创建类时,没有选择继承自QObject类或其子类,而在创建后手工修改继承自QObject并手工添加Q_OBJECT宏,则在编译时有可能会出现"undefined reference to `vtable for’…有时候,手快(尤其程序员非常迷恋快捷键【doge】),会不小心跳过一些关键步骤,导致出现一些问题。如果添加后,没有马上编译,而是编写了很多业务代码后编译,才发现qt给你报了大量错误。经过自己摸索,还有网友的提示,总结了一些方法供大家参考。

工作学习记录 8万+

基于 STM32 的手持式安检金属探测器设计与实现

【代码】基于 STM32 的手持式安检金属探测器设计与实现。

weixin_42300449的博客 900

QT解决undefined reference to vtable的万能办法

QT编译彻底解决undefined reference to vtable 在改以前的QT工程时,SLOT找不到的警告只有运行才会出现。即使加了Q_OBJECT 也是错误不断,怎么删除也会有undefined reference to vtable的报错。后面发现完全是因为Makefile的不更新,导致了生成不了moc_.cpp文件,无法完成编译 下面是在编译目录下的 object_script....

qq_38337691的博客 4345

手机直连低轨卫星通信:架构、关键技术和未来展望

【摘 要】借助低轨卫星星座全时全域覆盖优势,手机直连卫星通信预期成为6G重要特征之一。首先介绍了手机直连卫星的测试验证、标准化与商业项目发展现状。其次,介绍了基于透明转发、部分可再生处理、完全可再生处理、集成接入和回传的四种手机直连低轨卫星网络架构及组网方式。通过分析手机直连低轨卫星网络场景下高移动性与大传输时延等带来的接入与传输问题,提出对地面移动通信体制进行适应性改进的关键技术方案。最后,探讨了未来手机直连低轨卫星发展发向和潜在思路。通过上述阐述与分析,提供未来发展手机直连低轨卫星通信的可行路径。【关

fzq0625的博客 1707

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Qt 出现“undefined reference to `vtable for”原因

<br />(橙色部分主要内容)<br />由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程序的时候,会遇到各种各样这样那样的问题,而且很多是很难,或者根本找不到原因的,即使解决了问题,如果有人问你为什么,你只能回答--不知道。<br />今天我在这里列举的问题也是再编写Qt程序时,总是遇到的问题,问题普遍,而答案却不唯一,解释这一个问题的说法很多,往往只适合某一种情况,因为这个错误太笼统了,它就是-- “undefined reference to `vtable for”可能你看着很熟悉,似乎在

tykgls的专栏 3710

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

error: undefined reference to ‘vtable for …’

这个报警就是子类没有实现父类的纯虚函数,奇怪的是自定义的虚函数都已经进行了定义,这个时候需要留意还有一种情况就是Qt中一个类继承了QObject,而且添加了Q_OBJECT宏,此时就可能出现上面的异常。

lswdcyy的博客 3755

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Qt:Qt出现“undefined reference to vtable for”原因总结 (转my gallery)

由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程序的时候,会遇到各种各样这样那样的问题,而且很多是很难,或者根本找不到原因的,即使解决了问题,如果有人问你为什么,你只能回答--不知道; 今天我在这里列举的问题也是再编写Qt程序时,总是遇到的问题,问题普遍,而答案却不唯一,解释这一个问题的说法很多,往往只适合某一种情况,因为这个错误太笼统了,它就是-- “undefined referen

weiweiqiao的专栏 1193

Qt 出现“undefined reference to `vtable for”的问题

<br />在编写一个获得字符串的小程序时出现的问题,首先结合网上总结的解决方案<br /> <br />由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程式的时候,会碰到各种各样这样那样的问题,而且很多是很难,或根本很难找到原因的,即使解决了问题,假如有人问您为什么,您只能回答--不知道;<br />今天我在这里列举的问题也是再编写Qt程式时,总是碰到的问题,问题普遍,而答案却不唯一,解释这一个问题的说法很多,往往只适合某一种情况,因为这个错误太笼统了,他就是-- “undefined refere

wd4084的专栏 829

undefined reference to `vtable for XXX '

<br />一:<br />预编译器打开宏Q_OBJECT,声明若干个由moc处理(implement)的成员函数。如果得到类似于“undefined reference to vtable for LcdNumber”的编译错误(if you get compiler errors along the lines of "undefined reference to vtable for LcdNumber"),你可能是忘记了执行moc,或者忘记了将moc输出加入到link命令里。<br /><br />

EK的专栏 1万+

undefined reference to `vtablefor出现原因

由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程序的时候,会遇到各种各样这样那样的问题,而且很多是很难,或者根本找不到原因的,即使解决了问题,如果有人问你为什么,你只能回答--不知道。   今天考试,大提示在这里列举的问题也是再编写Qt程序时,总是遇到的问题,问题普遍,而答案却不唯一,解释这一个问题的说法很多,往往只适合某一种情况,因为这个错误太笼统了,它就是-- “undefined

lixuancong的专栏 1596

Qt 出现 "undefined reference to vtable for" 的解决方案。

今天我在用Qt5.8写一个程序时,出现了报错 ”undefined reference to vtable“: 具体原因如下:我自定义了一个类继承于QWidget,然后去使用信号与槽机制,在该类的头文件中加入了 Q_OBJECT,接着在运行该程序的过程中报出上述标题的错误。 这是由于预编译器在打开宏Q_OBJECT时,找不到moc_predefs.h的内容,所以报错了。 所以我们需要在该...

僧静思深 3401
上一篇: C++ const
下一篇: 动态获取MBM文件名
Atoric
博客等级 码龄19年 32粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值