2017-09-15 250 views
4

我想在zlib支持的Windows上构建Boost C++库版本1.65.1。我使用先前建立的zlib,使用Conan软件包中的zlib库。我试图理解用zlib支持来构建boost的正确步骤,以便使用它们来创建Conan配方。我试图按照官方提示documentation的指示。我设置环境变量ZLIB_LIBRARY_PATHZLIB_NAMEZLIB_INCLUDE方式如下:如何使用zlib支持构建boost?

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 build命令设置环境变量:

.\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支持使用我预先建立的带有zlib的Conan包来构建Boost?

+0

谁维护升压柯南包?很可能你应该直接询问他们是否支持zlib功能(或检查文档) – sehe

+0

@seha我试图用Boost创建我自己的Conan软件包。在官方的Boost Conan软件包GitHub存储库中,存在open [issue](https://github.com/lasote/conan-boost/issues/42),因为目前对zlib的支持没有正确实施。 – bobeff

+1

好的。所以真正想要的是知道如何使用zlib从系统中构建boost。这与Conan无关(除非你碰巧从conan软件包安装/构建了zlib) – sehe

回答

1

project-config.jam补丁可以,实际上,它在Linux和OSX上工作。在Windows中,您需要用“/”替换“\”字符(用jam语言转义字符)。

你可以看到我的更新柯南食谱升压1.64.0 here