Cross-Kompilieren von Boost für OpenWRT

English Deutsch

Dieser Post zeigt, wie man Boost für OpenWRT cross-kompiliert. Wir verwenden das Teltonika-RUTX10-SDK, das bereits mit den relevantiven OpenWRT-Einstellungen für diesen Router vorkonfiguriert ist.

Voraussetzung ist, dass Sie:

Wir gehen davon aus, dass sich das SDK in ~/rutos-ipq40xx-rutx-gpl befindet.

Boost kompilieren

Zuerst müssen Sie berücksichtigen, dass viele Boost-Bibliotheken Header-Only-Bibliotheken sind. Für diese Bibliotheken müssen Sie Boost nicht kompilieren, aber es könnte trotzdem einfacher sein, einen kompletten Boost-Ordner für die Installation vorzubereiten.

Laden Sie zuerst Boost herunter und entpacken Sie es. Führen Sie nun

bootstrap_bjam.sh
./bootstrap.sh

aus, um bjam zu kompilieren.

Öffnen Sie nun project-config.jam im Boost-Ordner und fügen Sie die folgende Zeile am Anfang der Datei hinzu:

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

Führen Sie nun im Boost-Ordner das folgende Bash-Skript aus:

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

Nun ist Boost in ~/boost_rutx10 installiert, das include- und lib-Unterverzeichnisse hat.


Check out similar posts by category: Boost, OpenWRT