首页 > 后端开发 > C++ > 为什么我的 C 项目中出现'对 'vtable for XXX' 的未定义引用”或'ClassName::ClassName()”链接器错误?

为什么我的 C 项目中出现'对 'vtable for XXX' 的未定义引用”或'ClassName::ClassName()”链接器错误?

Linda Hamilton
发布: 2024-12-03 00:04:14
原创
462 人浏览过

Why Am I Getting

GCC C 链接器错误:未定义引用 'vtable for XXX'、'ClassName::ClassName()'

链接 C 时在 Eclipse-CDT 中的项目中,用户可能会遇到链接器错误,例如“undefined reference to 'vtable for XXX'”或“对‘ClassName::ClassName()’的未定义引用”。这些错误指出了阻止成功库链接的潜在问题。

1.确认静态库类型

要验证静态库的 64 位性质,请在终端中运行以下命令:

file /path/to/library.a | grep -i "64-bit"
登录后复制

如果“64 位”存在于输出,库是 64 位的。

2.库类和方法验证

要检查库是否包含预期的类和方法,请使用 ctags 或 lldb 等 C 头文件查看器工具。例如,在终端中使用 ctags:

ctags -R /path/to/library_header_files_directory
find /path/to/tags_file_directory NameOfClass
登录后复制

该命令在头文件生成的标签文件中搜索类名,并指示库中是否存在。

3。了解错误

在这种情况下,链接器错误表明“SomeOtherClass”类中缺少重写虚拟函数的定义。该声明存在,但缺乏实施。要解决此问题,请为“SomeOtherClass”中缺少的方法提供定义。

以上是为什么我的 C 项目中出现'对 'vtable for XXX' 的未定义引用”或'ClassName::ClassName()”链接器错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

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