如何使用zlib支持构建增强功能?

时间:2017-09-15 13:00:21

标签: c++ boost zlib boost-iostreams

我正在尝试使用zlib支持在Windows上构建Boost C ++库版本1.65.1。我正在使用Conan包中的zlib库和我之前构建的zlib。我正在尝试了解使用zlib支持构建boost的正确步骤,以使用它们来创建Conan配方以进行提升。我试图按照官方提升documentation的说明进行操作。我通过以下方式设置环境变量ZLIB_LIBRARY_PATHZLIB_NAMEZLIB_INCLUDE

set ZLIB_LIBRARY_PATH=C:\Users\ivan.bobev\.conan\data\zlib\1.2.11\igsoft\stable\package\63da998e3642b50bee33f4449826b2d623661505\lib
set ZLIB_NAME=zlibstat
set ZLIB_INCLUDE=C:\Users\ivan.bobev\.conan\data\zlib\1.2.11\igsoft\stable\package\63da998e3642b50bee33f4449826b2d623661505\include

,构建命令为:

.\b2.exe -j8 --prefix="C:\work\test_builds\boost\install\x64_shared_release" --build-dir="C:\work\test_builds\boost\build\x64_shared_release" --layout=system architecture=x86 address-model=64 toolset=msvc variant=release debug-symbols=on link=shared threading=multi runtime-link=shared install

结果是:

 - zlib                     : no  (cached)

我还尝试在运行之间清除提升构建现金。

在此之后,我尝试直接从b2构建命令设置环境变量:

.\b2.exe -j8 -sZLIB_LIBRARY_PATH="C:\Users\ivan.bobev\.conan\data\zlib\1.2.11\igsoft\stable\package\63da998e3642b50bee33f4449826b2d623661505\lib"-sZLIB_NAME="zlibstat" -sZLIB_INCLUDE="C:\Users\ivan.bobev\.conan\data\zlib\1.2.11\igsoft\stable\package\63da998e3642b50bee33f4449826b2d623661505\include" --prefix="C:\work\test_builds\boost\install\x64_shared_release" --build-dir="C:\work\test_builds\boost\build\x64_shared_release" --layout=system architecture=x86 address-model=64 toolset=msvc variant=release debug-symbols=on link=shared threading=multi runtime-link=shared install

结果是一样的。

最后,我尝试按以下方式将选项添加到project-config.jam文件中:

using zlib : 1.2.11 : <search>C:\Users\ivan.bobev\.conan\data\zlib\1.2.11\igsoft\stable\package\63da998e3642b50bee33f4449826b2d623661505\lib <name>zlibstat <include>C:\Users\ivan.bobev\.conan\data\zlib\1.2.11\igsoft\stable\package\63da998e3642b50bee33f4449826b2d623661505\include ;

我再次没有成功。

在zlib include文件夹中有子文件夹zlib。我还尝试了上面的3个变种,将路径设置为“../include/zlib”。再没有成功。

如何使用zlib预先构建的Conan软件包支持zlib支持构建Boost?

1 个答案:

答案 0 :(得分:2)

project-config.jam补丁没问题,实际上,它正在Linux和OSX中运行。在Windows中,您需要用“/".

替换”\“字符(以jam语言表示的转义字符)

你可以看到我更新的Conan配方Boost 1.64.0 here