【问题标题】:Building Boost 1.52 with zlib as a static library使用 zlib 作为静态库构建 Boost 1.52
【发布时间】:2013-02-15 23:17:09
【问题描述】:

我在 windows 中使用 vs2012 通过 python 构建脚本运行所有构建。我正在尝试构建 Boost 1.52,我需要静态链接 zlib。我有一个 zlib 的构建,默认情况下它创建了静态库 zlib.lib 和带有关联 zdll.lib 的 dll zlib1.dll。然后我使用开关构建 boost 库:

-sZLIB_BINARY=zlib -sZLIB_INCLUDE=%s -sZLIB_LIBPATH=%s

%s 被替换为适当的文件夹。我相信这应该会导致指向静态 zlib.lib 文件的链接。我有一个使用所有这些的应用程序。我链接zlib.lib并运行最终exe的依赖walker并获取zlib1.dll。我对 zlib 没有其他依赖项,所以这是唯一可以来自的地方。我还添加了开关

-sNO_ZLIB=0

我查看了http://www.boost.org/doc/libs/1_43_0/libs/iostreams/doc/installation.html 的安装文档,但找不到任何我遗漏的东西。

提前谢谢你...

【问题讨论】:

  • 我已经通过以下方式解决了这个问题......在寻找其他链接时,我发现在 boost 中有一个 #pragma comment(zlib, BOOST_ZLIB_BINARY) 并且这个标志是在预处理器设置中设置的devenv 为我的最终项目到 zdll.lib。我将其调整为 zlib.lib,一切正常。

标签: boost build zlib


【解决方案1】:

我已经通过以下方式解决了这个问题......在寻找其他链接时,我发现在 boost 中有一个

#  pragma comment(lib, BOOST_STRINGIZE(BOOST_ZLIB_BINARY))

这个标志 BOOST_ZLIB_BINARY 是在 devenv 的预处理器设置中设置的,用于我的最终项目到 zdll.lib。我将其调整为 zlib.lib,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-02
    • 2020-07-19
    • 2020-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    相关资源
    最近更新 更多