VC6链接冲突
我有一个用 VC6 编译的旧 C++ 项目。
我需要静态链接一个新库来实现新功能。
不幸的是,新库定义了一个已经在先前链接的静态库中定义的符号(即_inflate)。
当然,我无法摆脱这两个库,当然我也无法访问该库的源代码。
有没有办法避免链接器错误(LNK2005)?
I have an old c++ project compiled with VC6.
I need to statically link a new library to implement a new functionality.
Unfortunately the new library define a symbol (i.e. _inflate) that is already defined in a previously linked static library.
Of course I cannot get rid of either library, and of course I have no access to the library's source code.
Is there a way to avoid the linker error (LNK2005)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您知道 _inflate 的两个版本相同,或者至少“兼容”,那么您可以使用 /FORCE:多个链接器选项强制其忽略名称冲突。
当然,如果它链接到该代码的某个版本以任何方式“不兼容”,则可能会导致未定义的行为。
If you know that the two versions of _inflate are identical, or at least "compatible", then you can use the /FORCE:Multiple linker option to force it to ignore name clashes.
Of course, if it links to a version of that code that is "incompatible" in any way it could cause undefined behaviour.