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

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-28 06:53:02390浏览

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