首页 > 后端开发 > C++ > 为什么在 Qt 中使用 Q_OBJECT 时会出现'vtable 引用错误”?

为什么在 Qt 中使用 Q_OBJECT 时会出现'vtable 引用错误”?

Mary-Kate Olsen
发布: 2024-10-28 06:53:02
原创
488 人浏览过

Why Do I Get a

Qt 中 Q_OBJECT 的 vtable 引用错误

在这种情况下,链接器无法找到虚函数表(vtable) T 类,导致错误“未定义对‘vtable for T’的引用”。当负责管理 Qt 元对象系统的 MOC 生成单元被排除在链接过程之外时,就会出现此问题。

要解决此问题,请考虑以下事项:

  • 单独的头文件: 在单独的头文件中定义 T 类。这确保构建系统在编译期间扫描头文件。
  • 更新了 qmake: 如果该类以前不是元对象系统的一部分,请通过修改时间戳重新运行 qmake项目文件的名称(例如,添加和删除空格)以强制其执行。
  • Qt Creator 集成: 在 Qt Creator 中,从项目上下文菜单中选择“运行 qmake”会触发 qmake 执行.

执行这些步骤后,MOC 单元将包含在链接过程中,从而解决 vtable 引用错误。

以上是为什么在 Qt 中使用 Q_OBJECT 时会出现'vtable 引用错误”?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板