2

我正在使用 vs2012 通过 python 构建脚本运行所有构建的 Windows 中工作。我正在尝试构建 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上的安装文档,但找不到我遗漏的任何其他内容。

先感谢您...

4

1 回答 1

0

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

#  pragma comment(lib, BOOST_STRINGIZE(BOOST_ZLIB_BINARY))

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

于 2013-02-18T18:30:22.957 回答