Boost 编译追加 zlib 支持

默认在windows 下编译的 Boost 没有 zlib 支持。

项目中用到了 boost iostreams 中的 zlib 过滤器,从 linux 移植到 windows 时遇到了项目编译时找不到 boost_zlib-vc100-mt-gd-1_55.lib 的问题。

原因是 windows 系统中默认没有 zlib 库,因此需要下载 zlib 的源码,并重新编译 boost 使其增加对 zlib 的支持。

以下命令完成了该任务。记录之以备忘。

.\b2 -j8 --with-iostreams -sZLIB_SOURCE="D:\C_LIBS\pack\zlib-1.2.8" -sZLIB_INCLUDE="D:\C_LIBS\pack\zlib-1.2.8"  --build-type=complete address-model=64

其中, zlib-1.2.8 是从 zlib 官网下载的源码。

--with-iostreams 表示要编译 iostreams

address-mode=64 表示编译  x64 的库。

由于设定了 -sZLIB_SOURCE 和 ZLIB_INCLUDE 两个变量,编译 iostreams 时,会生成  boost_zlib_XXXX.lib 系列库。
只要在 boost 的根目录下运行,系统只会更新 iostreams 相关的库。

 

 

你可能感兴趣的:(软件编译安装记录)