【发布时间】: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,一切正常。