MSVC:检查静态库(修复未解析的外部符号)

发布于 2024-08-13 21:30:25 字数 228 浏览 9 评论 0原文

我想问一下你们使用什么工具和技术来修复 MSVC 中的链接器错误。我的问题是,我将可执行文件链接到自建静态库,并且得到很多未解析的外部符号(LNK2019)。我尝试使用不同的调用约定构建我的库,但没有成功。

我想检查该 lib 文件(它是一个调试版本)并查看该 lib 提供了哪些函数,以便找到链接器错误的原因。

如果有任何关于如何系统地调试丢失的外部符号的建议,我将不胜感激。

谢谢, 诺伯特

I wanted to ask what tools and techniques you use to fix linker errors in MSVC. My problem is, that I link an executable against a self built static lib and I get a lot of unresolved external symbols (LNK2019). I've tried building my libs with different calling conventions but I didn't succeed.

I want to inspect that lib file (it's a debug build) and see what functions are made available by that lib to maybe find the cause of the linker error.

I'd appreciate any suggestions how to systematically debug missing external symbols.

thanks,
Norbert

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寂寞花火° 2024-08-20 21:30:25

通常这些是由于多个部分之间的编译器开关或选项不同造成的。确保在所有这些库中使用相同的编译器开关来生成代码:特别是运行时库需要相同(在运行时库中的 C/C++ 下 - 多线程 (/MT)(静态)或多线程 DLL (/医学博士))。这表明您是否想要再次静态链接 Microsoft 运行时。

Usually these are due to compiler switches or options being different between multiple pieces. Make sure you use the same compiler switch for code generation in all of them: especially the runtime libraries need to be the same (under C/C++ in Runtime Library -- Multi Threaded (/MT) (static) or Multi Threaded DLL (/MD)). This indicates that you want to statically link agains the Microsoft runtime or not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文