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

2023-10-28


在使用qt开发新项目时候,添加新的类是非常频繁的操作。有时候,手快(尤其程序员非常迷恋快捷键【doge】),会不小心跳过一些关键步骤,导致出现一些问题。例如“undefined reference to `vtable for”错误就很常见。

QT中,类要支持信号与槽机制,需要继承自QObject并在头文件开头添加Q_OBJECT宏.

如果使用QtCreator创建类时,没有选择继承自QObject类或其子类,而在创建后手工修改继承自QObject并手工添加Q_OBJECT宏,则在编译时有可能会出现"undefined reference to `vtable for’…"错误.

如果添加后,没有马上编译,而是编写了很多业务代码后编译,才发现qt给你报了大量错误。
这时怎么处理呢?
经过自己摸索,还有网友的提示,总结了一些方法供大家参考。


解决方法:

  1. 方法一:重新执行qmake(2021,08.03);
  2. 方法二:把新创建的类从项目中移除(注意不要从磁盘上删除),然后再添加进工程,QtCreator就会重新解析此类,再编译就不再会出现上述错误.
  3. 方法三:qtcreator有时候会抽风,实在不行就人工删除编译的中间文件,重新编译;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • 使用 Microsoft Graph API 订阅 Outlook 推送通知时出现 400 错误请求错误

    我正在尝试使用 Microsoft Graph API 创建订阅以通过推送通知获取 Outlook 电子邮件 mentions 我在用本文档 https learn microsoft com en us graph api subscri
  • 如何针对 Nancy 中的 Active Directory 进行身份验证?

    这是一篇过时的文章 但是http msdn microsoft com en us library ff650308 aspx paght000026 step3 http msdn microsoft com en us library
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • react学习之class中this

    class Demo extends React Component handle console log this render return div 点击我 div 控制台会显示undefined 因为在class中 自定义方法会自动加
  • Edge插件导入到chrome浏览器

    在 Edge 浏览器输入 edge version 按回车键后 可以看到 用户配置路径 xxx 复制下来 粘贴到文件管理器 然后找到Extensions 文件夹 打开文件夹 此时会看到一大堆文件夹 这里对应的是你安装的插件多少 然后我们打开
  • 12.PageHelper-来自官网

    分页插件 pageHelper 官网 https pagehelper github io 使用方法 1 引入分页插件 引入分页插件有下面2种方式 推荐使用 Maven 方式 1 引入 Jar 包 你可以从下面的地址中下载最新版本的 jar
  • 安装C++的torch

    找到自己的cuda版本 nvcc version 我的输出是这样的 nvcc NVIDIA Cuda compiler driver Copyright 2005 2020 NVIDIA Corporation Built on Mon O
  • 美国设计师Aaron的Logo设计欣赏

    2007 02 16 作者 Aaron 出处 sj63 Aaron 来自美国洛杉矶 主要从事商标 标志设计
  • 解决HuggingFace加载预训练模型时报错TypeError: expected str, bytes or os.PathLike object, not NoneType

    完整报错 TypeError expected str bytes or os PathLike object not NoneType 解决方法 检查下载的组件 步骤1 完整的下载组件 包括bin文件的模型 配置文件和其他文件 尤其是to
  • 数据库系统原理练习题(十三)

    1 在数据库设计中 用E R图来描述信息结构但不涉及信息在计算机中的表示 它是数据库设计的 阶段 A 需求分析 B 概念设计 C 逻辑设计 D 物理设计 将E R模型转换成关系模型 属于数据库的 A 需求分析 B 概念设计 C 逻辑设计 D
  • AB实验的高端玩法系列4- 实验渗透低?用户未被触达?CACE/LATE

    CACE全称Compiler Average Casual Effect或者Local Average Treatment Effect 在观测数据中的应用需要和Instrument Variable结合来看 这里我们只讨论CACE的框架给
  • Java泛型的协变和逆变

    1 什么是泛型擦除 Java的泛型本质上不是真正的泛型 而是利用了类型擦除 type erasure 2 协变 covariant 和逆变 contravariant 2 1协变 covariant
  • Linux逻辑卷管理LVM

    前言 目前我们用的物理磁盘有内存限制 当我们把磁盘占满了 如果将文件放在其他磁盘对于以后的维护很是麻烦 单靠物理磁盘是无法解决空间增长的问题的这个时候逻辑卷就起到了很重要的作用 这篇文章的学习目标是 了解逻辑卷的优势特点 学会如何创建逻辑卷
  • 二维数组与稀疏数组之间的转换

    JAVA实现二维数组与稀疏数组之间的转换 一 什么是稀疏数组 稀疏数组 Sparse array 所谓稀疏数组就是数组中大部分的内容值都未被使用 或都为零 在数组中仅有少部分的空间使用 因此造成内存空间的浪费 为了节省内存空间 并且不影响数
  • JAVA循环结构

    1 循环结构特点 1 循环操作 2 循环条件 2 循环的四个步骤 1 初始化循环条件 2 循环条件 3 循环体 4 变更循环条件 3 while循环 while 循环条件 循环体 3 do while do 循环体 while 循环条件 分
  • Java上传图片文件

    PostMapping certificate public AjaxResult upCertificate MultipartFile file HttpServletRequest request AjaxResult ajax Aj
  • 素数之 积

    RSA加密算法在网络安全世界中无处不在 它利用了极大整数因数分解的难度 数据越大 安全系数越高 给定一个32位整数 请对其进行因数分解 找出是哪两个素数的乘积 思路 先判断是否为素数 再跟着条件走即可 JScript代码 let line
  • TortoiseSVN客户端重新设置用户名和密码

    在第一次使用TortoiseSVN从服务器CheckOut的时候 会要求输入用户名和密码 这时输入框下面有个选项是保存认证信息 如果选了这个选项 那么以后就不用每次都输入一遍用户名密码了 不过 如果后来在服务器端修改了用户名密码 则再次检出
  • RabbitMQ的交换机(主题模式)学习笔记

    视频地址 之前我们学习了扇出模式和直接模式 但是他们呢只能完成广播和到指定的某一个routingkey 但是如果我们想要像类似于正则表达式那样完成匹配即可接收就不行了 那么就可以使用主题模式来完成这个需要 主题模式 与扇出和直接模式差不多
  • Win10怎么添加开机启动项?Win10添加开机自动运行软件三种方法

    Win10管理开机启动项的方法相信大家已经非常熟悉 msconfig命令各系统都通用 那么很多用户发觉Win10和Win7 XP等系统不同 没有启动文件夹 那么我们怎么添加开机启动项呢 如晨软件或程序没有开机启动设置的话 是的 在Win10
  • LIMA和QLoRA论文解读

    LIMA Less Is More for Alignment paper https arxiv org abs 2305 11206 Meta在2023年5月发布了论文 LIMA Less Is More for Alignment 基
  • 容器化部署(prometheus+grafana)监控k8s集群

    prometheus images 下所有镜像导入到私有仓库 192 168 92 160 拷贝所有镜像到 master 的 images 目录下 root master images for i in gz do docker load
  • undefined reference to `vtable for’”问题的原因及解决方法

    在使用qt开发新项目时候 添加新的类是非常频繁的操作 有时候 手快 尤其程序员非常迷恋快捷键 doge 会不小心跳过一些关键步骤 导致出现一些问题 例如 undefined reference to vtable for 错误就很常见 QT