Macos 在Mac Big Sur(Mac osx 10.11)上为arm64构建avrocpp库

Macos 在Mac Big Sur(Mac osx 10.11)上为arm64构建avrocpp库,macos,boost,avro,zlib,macos-big-sur,Macos,Boost,Avro,Zlib,Macos Big Sur,我正在尝试在Mac Big Sur Mac OS 10.11)上为ARM64构建avrocpp。安装boost并下载avro cpp后,当我从avro目录运行build.sh进行构建时,在编译avro的DataFile.cpp时出现以下错误(以及更多错误): **Undefined symbols for architecture arm64: "boost::iostreams::zlib_error::check(int)", referenced from:

我正在尝试在Mac Big Sur Mac OS 10.11)上为ARM64构建avrocpp。安装boost并下载avro cpp后,当我从avro目录运行build.sh进行构建时,在编译avro的DataFile.cpp时出现以下错误(以及更多错误):

**Undefined symbols for architecture arm64:
  "boost::iostreams::zlib_error::check(int)", referenced from:
      long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_compressor_impl<std::__1::allocator<char> >, std::__1::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::__1::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::__1::char_traits<char> >&, char const*, long) in DataFile.o**
**架构arm64的未定义符号:
“boost::iostreams::zlib_error::check(int)”,引用自:
长boost::iostreams::symmetric_filter::write(boost::iostreams::detail::linked_streambuf&,char const*,long)在DataFile.o中**
所有错误都出现在boost::iostream->zlib压缩器或解压缩器中

到目前为止,由于Homebrew不支持Mac Big sur for boost(boost:fix arm64 build),并且在构建boost zlib和avrocpp时出现了错误,因此我正在尝试构建源代码,但得到了错误,以下是我到目前为止尝试的内容

  • boost 1.74使用architecture=arm构建,并且还验证了创建的LIB是arm64(lipo-ARCH)

  • 在avro目录中,修改了build.sh,修改了“xcode测试”,并添加了体系结构。这是修改后的命令

    xcode测试) mkdir-p build.xcode (cd build.xcode
    &&cmake-G Xcode..
    &&xcodebuild-verbose ARCHS=“arm64”仅\u活动\u ARCH=YES-配置发布) ;;

  • 同时更新CMakeLists.txt以指向我的boost目录。新增行:

    项目(Avro cpp) 设置(Boost\u NO\u SYSTEM\u path TRUE) if(增压\无\系统\路径) 设置(BOOST\u ROOT“/用户/a/下载/BOOST\u 1\u 74\u 0”) 设置(Boost\u DIR”/Users/a/Downloads/Boost\u 1\u 74\u 0) 集合(BOOST\u包括\u目录“${BOOST\u ROOT}/BOOST”) 集合(BOOST_LIBRARY_DIRS“${BOOST_ROOT}/stage_mac32_64/lib”) set(Boost_LIBRARY_DIR_RELEASE“${Boost_ROOT}/stage_mac32_64/lib”) endif(Boost\u NO\u SYSTEM\u路径)

  • 运行命令:./build.sh xcode测试 在boost::iostream->zlib中返回了相同的错误

  • 下载了zlib源代码,我试图通过指定zlib源代码来构建boost::iostream,同样的错误。命令:

  • ./b2--toolset=clang--with iostreams--layout=version--build type=complete threading=multi-runtime link=static architecture=arm address model=64--stagedir=stage\u mac32\u 64 stage--debug configuration-s ZLIB\u SOURCE=“/Users/a/Downloads/ZLIB-1.2.11”

    如果有人尝试在Mac big sur上为arm64构建avrocpp,请提供帮助