我在构建 32/64 组合版本时也遇到了问题,最终不得不分别构建这两个版本(我不得不将 cxx 标志“-arch i386”添加到 32 位版本中)并使用 lipo 来组合它们。例如:
./bjam link=static release install address-model=32 --prefix=$prefix_dir-x86" --python-buildid=2.7 python=2.7 --with-python cxxflags="-fPIC -Wfatal-errors -arch i386" -s NO_BZIP2=1 -s NO_ZLIB=1
./bjam link=static release install address-model=64 --prefix=$prefix_dir-x64" --python-buildid=2.7 python=2.7 --with-python cxxflags="-fPIC -Wfatal-errors" -s NO_BZIP2=1 -s NO_ZLIB=1
lipo $prefix_dir-x86/lib/libboost_python-2_7.a $prefix_dir-x64/lib/libboost_python-2_7.a -output $prefix_dir-universal/libboost_python-2_7.a -create
鉴于在添加“-arch i386”之前我仍然有 64 位二进制文件(当我请求 32 位时),我怀疑 bjam/b2 的 macOS 上 32 位二进制文件的构建脚本存在问题。