我试图在Windows上构建带有zlib支持的Boost C++库版本1.65.1。我正在使用之前构建的带有zlib的Conan包中的zlib库。我试图理解用zlib支持构建boost的正确步骤,以便使用它们创建用于boost的Conan配方。我试着遵循官方boost 文档的指示。我以以下方式设置环境变量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 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包含文件夹中有子文件夹zlib。我还尝试了上述3种变体,将路径设置为“./include/zlib”。再也没有成功。
如何使用我预先构建的带有zlib的Conan包来构建使用zlib支持的Boost?
发布于 2017-09-16 06:43:06
project-config.jam修补程序很好,而且实际上正在Linux和OSX中工作。在Windows中,您需要用"/“替换"\”字符( jam语言中的转义字符)。
您可以看到我更新的Boost 1.64.0 这里的Conan配方
https://stackoverflow.com/questions/46240208
复制相似问题