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:
- Downloaded SDK
- Built ho pomocí našich instrukcí nebo oficiálního manuálu, pokud preferujete longer read.
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.shpro compile bjam.
Nyní, otevřete project-config.jam uvnitř boost folder a přidejte následující line na začátek souboru:
using gcc : openwrt : arm-openwrt-linux-muslgnueabi-g++ ;Nyní, uvnitř boost folder, spusťte následující bash script:
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=1Nyní, boost je installed v ~/boost_rutx10, který má include a lib subdirectories.