随笔 - 100  文章 - 0  评论 - 6  阅读 - 88916

Linux 使用交叉编译工具链编译boost

参考:Boost交叉编译

执行./bootstrap.sh后,会生成project-config.jam。

修改project-config.jam文件:

复制代码

#if ! gcc in [ feature.values <toolset> ]
#{
#using gcc : ;
#}

if
! gcc in [ feature.values <toolset> ] { using gcc : : /cross-tools/aarch64-poky-linux-gcc --sysroot=/cross-tools/sysroots ; }
复制代码

说明:

1.指定交叉编译器:

/cross-tools/aarch64-poky-linux-gcc

2.指定交叉编译环境目录:

--sysroot=/cross-tools/sysroots

然后执行 ./b2 编译

PS:每个语句间的空格不能缺少

 

通过脚本自动完成编译:

复制代码
#!/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 
复制代码

 

posted on   林西索  阅读(1132)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示