C 中的依赖错误
在我的程序中,我收到此运行时(编译器不抱怨)错误: “未定义的符号 xyz”。
执行此代码的库是 lib A。 xyz 是在 lib B 中定义的。
我可以从这个错误中得出任何结论吗? 我的依赖关系应该是什么样子才能发挥作用? lib A 应该在 lib B 之后吗?
还是我完全疯了??
重新表述我的问题:
如果我对工作程序进行更改(仅更改依赖项),并且现在该程序给出运行时错误:“未定义的符号 xyz”,我可以从此错误中得出任何结论吗?
我的动机是了解如何解释错误消息以及从中推断出什么。如果我不能解决问题也没关系。
In my program, I am getting this runtime (compiler doesn't complain) error:
"undefined symbol xyz".
the lib that exercise this code is lib A.
xyz is defined in lib B.
Can I derive any conclusion from this error?
How should my dependencies look like for this to work?
lib A should come after lib B ?
Or I am completely out of my mind ??
Rephrasing my question:
If I make changes (solely changing dependencies) to a working program and now that program gives runtime error: "undefined symbol xyz", can I conclude anything from this error?
My motive is to understand how to interpret the error message and what to infer from it. It is fine if I cannot solve the issue.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果正如评论者所建议的那样,这是一个链接时错误,那么您在没有任何更多信息的情况下可以推断的唯一一件事是链接器在一个文件中看到了对名为
xyz
的符号的引用,但没有看到查看提供给它的任何对象或 lib 文件中定义的符号。如果没有更多信息,几乎不可能解释为什么会发生这种情况。根据你所说的一些可能性。
If it is a link-time error as the commenters suggest, then the only thing you can infer without any more info is that the linker sees a reference to an symbol called
xyz
in one file, but does not see that symbol defined in any of the object or lib files provided to it.It is virtually impossible to tell why this happens without more information. Some possibilities based on what you have said.