我正在尝试使用zlib支持在Windows上构建Boost C ++库版本1.65.1。我正在使用Conan包中的zlib库和我之前构建的zlib。我正在尝试了解使用zlib支持构建boost的正确步骤,以使用它们来创建Conan配方以进行提升。我试图按照官方提升documentation的说明进行操作。我通过以下方式设置环境变量ZLIB_LIBRARY_PATH
,ZLIB_NAME
和ZLIB_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?
答案 0 :(得分:2)
project-config.jam
补丁没问题,实际上,它正在Linux和OSX中运行。在Windows中,您需要用“/".
你可以看到我更新的Conan配方Boost 1.64.0 here