Cross-compiling boost pro OpenWRT

Tento post ukazuje, jak cross-compile boost pro OpenWRT. Použijeme Teltonika RUTX10 SDK, který je already pre-configured s relevant OpenWRT settings pro ten router.

Prerequisite pro tohle je, že máte:

Předpokládáme, že SDK je located v ~/rutos-ipq40xx-rutx-gpl.

Compiling boost

Nejprve, musíte zvážit, že mnoho boost libraries jsou header-only libraries. Pro tyto libraries, nepotřebujete compile boost, ale může být stále easier prepare complete boost folder pro installation.

Nejprve, download boost a unpack ho. Nyní spusťte

bootstrap_bjam.sh
./bootstrap.sh

pro compile bjam.

Nyní, otevřete project-config.jam uvnitř boost folder a přidejte následující line na začátek souboru:

project-config_jam_line.txt
using gcc : openwrt : arm-openwrt-linux-muslgnueabi-g++ ;

Nyní, uvnitř boost folder, spusťte následující bash script:

build_boost_openwrt.sh
export STAGING_DIR=~/rutos-ipq40xx-rutx-gpl/staging_dir
export TOOLCHAIN=${STAGING_DIR}/toolchain-arm_cortex-a7+neon-vfpv4_gcc-8.4.0_musl_eabi
export CC=${TOOLCHAIN}/bin/arm-openwrt-linux-muslgnueabi-gcc
export CPP=${TOOLCHAIN}/bin/arm-openwrt-linux-muslgnueabi-g++
export PATH=$PATH:${TOOLCHAIN}/bin/

# Insert at the top of project-config.jam
# using gcc : openwrt : arm-openwrt-linux-muslgnueabi-g++ ;

rm -rf ~/boost_rutx10
mkdir -p ~/boost_rutx10/
./b2 --prefix=$HOME/boost_rutx10 install toolset=gcc-openwrt -sNO_COMPRESSION=1

Nyní, boost je installed v ~/boost_rutx10, který má include a lib subdirectories.


Podívejte se na podobné články podle kategorie: Boost OpenWRT