Boost1.74.0交叉编译

记录一下Boost1.74.0版本的PC上编译及交叉编译情况。


一、下载

下载boost源码,这里使用的是1.74.0版本
下载地址:https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source/

二、Ubuntu编译

1、安装依赖包

#安装mpi库
sudo apt-get install mpi-default-dev
#支持正则表达式的UNICODE字符集
sudo apt-get install libicu-dev
#需要python的话
sudo apt-get install python-dev
#安装bzip2 zlib lzma zstd
sudo apt-get install libbz2-dev zlib1g-dev liblzma-dev libzstd-dev

2、编译及安装

这里打算将编译出来的库放在上级目录下的target_pc目录。
那么在解压出来的boost_1_74_0目录下创建编译脚本build_boost.sh

#!/bin/sh

COMPILER_PREFIX=$(pwd)/../target_pc

rm -rf project-config.jam*
./bootstrap.sh --with-libraries=all --prefix=$COMPILER_PREFIX
./b2 install

在脚本里面制定了编译安装的指定目录,编译生成所有的库,如果要只编译指定的库可以通过参数with-libraries去控制。

–with-libraries=xxx,yyy

执行,大概要等个十多分钟,具体看电脑配置。

3、编译结果

会生成头文件和动态、静态库。
在这里插入图片描述

三、交叉编译

1、安装依赖包

交叉编译主要的点在于要配置交叉编译工具(gcc)以及指定编译平台的依赖库(sysroot)。
主要需要有库的是zlibbzip2lzma,如果没有的话可以自行下源码交叉编译后把库放到sysroot目录下。

2、编译及安装

这里打算将编译出来的库放在上级目录下的target_cross目录。
那么在解压出来的boost_1_74_0目录下创建编译脚本build_boost.sh

#!/bin/sh

#编译工具路径
QL_CROSSTOOLS=/opt/ql_crosstools/ql-ag550qcn-le20-gcc820-v1-toolchain/gcc/usr/bin/arm-oe-linux-gnueabi

#SYSROOT路径
QL_SYSROOT=/home/hrx/work/ql-sysroots
COMPILER_SYSROOT="--sysroot=$QL_SYSROOT"

#编译工具
COMPILER_CC=$QL_CROSSTOOLS/arm-oe-linux-gnueabi-gcc

#编译选项
COMPILER_FLAGS="-march=armv7-a -marm -mfpu=neon -mfloat-abi=hard"

#安装位置
COMPILER_PREFIX=$(pwd)/../target_cross

rm -rf project-config.jam*
./bootstrap.sh --with-libraries=all --prefix=$COMPILER_PREFIX

#将gcc替换成交叉编译工具的gcc并添加编译选项和sysroot路径
sed -i "/using gcc/c using gcc : : $COMPILER_CC $COMPILER_FLAGS $COMPILER_SYSROOT ;" project-config.jam

./b2 install variant=release abi=aapcs address-model=32 architecture=arm binary-format=elf threading=multi toolset=gcc 
3、编译结果

会生成头文件和动态、静态库。
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hrx-@@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值