用于ARM的交叉编译boost 1.69.0



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

使用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. 既然我不能直接在目标系统上构建,因为它没有足够的hdd,你建议如何处理这个错误
  3. 是否有我不知道的预编译libboost 1.69

我想我发现了问题:

当我尝试构建boost时,我尝试构建所有的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 

这帮我搞定了。不过我很高兴听到为什么。

最新更新