首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >公开源码库中的多个zlib,链接器错误

公开源码库中的多个zlib,链接器错误
EN

Stack Overflow用户
提问于 2013-11-01 19:28:13
回答 1查看 384关注 0票数 2

我正在从事一个涉及Lua、PhysFS和xml解析器的PhysFS项目。它们每个都包含一个zlib。在PhysFS和Lua中,它是zlib版本1.2.3,在解析器中是1.2.5。它们在相同的VS2010解决方案中,但在不同的目标。建造每一个项目都很好。但是,VS2010在构建最终的可执行文件时,报告了链接器错误,例如_adler32、_inflate等已经定义好了。奇怪的是,当我在两台不同的计算机上工作时,一台是抱怨Lua & PhysFS中的多个声明,另一种是抱怨Lua & xml解析器。都与VS2010快车。

我需要一个解决办法来避免这样的问题。由于它们是维护良好的开放源码库,所以我不喜欢修改它们的源代码。

如果我将其中的每一个编译成.dll和.lib,它会起作用吗?我的理解是,多个zlib声明仍然在不同的.lib文件中。这是真的吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-03 05:36:00

解决这一问题的一种方法是通过动态链接,即预置DLL和相应的库文件.在lib文件中,只有一部分符号(声明)使用此DLL公开给项目。由于zlib符号是隐藏的,所以可以有多个zlib副本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19734012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档