【问题标题】:Poco / zlib: error LNK2019 unresolved external "_gzopen"Poco / zlib:错误 LNK2019 未解决的外部“_gzopen”
【发布时间】:2013-04-20 08:32:30
【问题描述】:

我在使用 poco c++ 库时尝试使用 zlib 函数。直接链接到 zlib 库不起作用,因为 poco 也链接到它,并且在链接时我得到了几个重复项。所以我从我的库列表中删除了 zlib.lib 并只使用了 poco 版本。

因为 zlib.h 是 poco 的一部分,所以编译可以完美运行,但是现在链接会导致以下错误

error LNK2019 unresolved external "_gzopen" 

所以我可以在duplicateunresolved 之间切换。谁能帮帮我?

【问题讨论】:

    标签: poco zlib poco-libraries


    【解决方案1】:

    在 Windows 上,定义 ZLIB_DLL 应该强制导出本机 zlib 接口。可选地,Poco InflatingStreamDeflatingStream 包装 zlib 功能。一个警告:这些是 std 流派生类,可能会有性能损失。

    【讨论】:

    • 什么时候应该使用 ZLIB_DLL?在编译 Poco 或编译我的项目时?而且...我不想拥有 zlib.dll,我希望我的静态 Poco 库公开 zlib 函数...
    • 好的,我更深入地研究了它 - gzlib.cgzopen 定义所在的位置)与 POCO 一起分发,但实际上并未包含在 Foundation 项目中,这就是您看到链接错误的原因。为了避免更改 POCO VS 项目,最好将 POCO 分发中的 gzlib.c 包含到您的应用程序中,它应该可以解决;我尝试包含 gzlib.c 并从 Foundation 示例应用程序调用 gzopen,它链接正常。
    猜你喜欢
    • 2015-01-11
    • 2014-05-12
    • 2014-05-14
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    相关资源
    最近更新 更多