参考: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
标签:gcc,--,SYSROOT,cross,编译,Linux,boost,COMPILER From: https://www.cnblogs.com/linxisuo/p/17486260.html