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中文网其他相关文章!