boost - 交叉编译boost 1.69.0 for ARM

标签 boost arm cross-compiling beagleboneblack

尝试在 WSL Debian 中交叉编译 boost 1.69.0 我在没有 icu 或 python 支持的情况下运行 bootstrap.sh。添加后

using gcc : arm : arm-linux-gnueabihf-g++ ;

project-config.jam 运行 ./b2 install 时出现以下错误

Performing configuration checks

- default address-model    : 32-bit
- default architecture     : arm
error: No best alternative for libs/context/build/asm_sources
next alternative: required properties: <abi>aapcs <address-model>32 <architecture>arm <binary-format>elf <threading>multi <toolset>clang
    not matched

它持续了几行。

  1. 哪里出了问题?
  2. 由于我无法直接在目标系统上构建,因为它没有足够的硬盘,您建议如何处理这个错误?
  3. 是否有我不知道的预编译 libboost 1.69?

最佳答案

我想我发现了问题:

当我尝试构建 boost 时,我尝试构建所有的东西。我玩了一段时间并得出以下调用 b2 的参数:

./b2 --prefix=~/boostForBBB/ \
    --without-context \
    --without-coroutine \
    --without-fiber \
    --without-python \
    --address-model=32 \
    --stagedir=~/boostForBBBstage-arm-gnueabihf-g++/ \
    -j3 \ #here you should obviously write how many cores you want to build on
    -toolset=arm-linux-gnueabihf-g++ \
    -threading=multi \

这为我修复了它。不过,我很乐意听到原因。

关于boost - 交叉编译boost 1.69.0 for ARM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53769770/

相关文章:

c - GCC 忽略 __attribute__((section ("CCMRAM")))。怎么修?

c++ - 使用 MSVC 14.0 (VS 2015) 编译 Boost 时编译器版本未知

c++ - boost 单元测试夹具继承测试类,可以访问 protected 方法?

c++ - 将 boost::posix_time::duration 设置为 pos_infinite?

c - 从 C++ 应用程序中确定最后一个背景 pid

scala - 使用 sbt 交叉编译 Scala 时如何拥有不同的源代码? (MurmurHash 的变化)

python - boost::python:将 C++ 类暴露给嵌入在 C++ 应用程序中的 python 脚本

arm - 在小型 ARM 微 Controller 中实现 uart 接收缓冲器的正确方法?

c++ - 在 Windows 中为 Linux on Intel 编译 C++ 库

c - 在柯南构建步骤中选择构建类型