我想那不是人们做的事情。
我已经解决了只是运行命令两次;备案工作我的咒语是这样的:
bootstrap
b2 -j8 --build-dir=build toolset=msvc-14.0 variant=debug,release link=shared threading=multi runtime-link=shared stage
b2 -j8 --build-dir=build --buildid=x64 toolset=msvc-14.0 variant=debug,release link=shared threading=multi runtime-link=shared address-model=64 stage
这让x86和x64的图书馆为stage\lib
;对于实际编译应用程序,只需要此文件夹的内容和boost
文件夹。然后(通过道具文件)构建这个片段被添加到项目文件的软件时:
<PropertyGroup>
<BoostIncludeDir>path\to\include\boost\</BoostIncludeDir>
<BoostLibDir>path\to\lib\</BoostLibDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(BoostIncludeDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>BOOST_ALL_DYN_LINK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">BOOST_LIB_BUILDID=x64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(BoostLibDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
(BOOST_ALL_DYN_LINK
在技术上是可选的,但它有助于提高兼容性,如果编译具有升压类型的DLL的出口API中。尽管如此,你仍然需要确保它们都是用相同的编译器和Boost版本编译的。)