Crosstool-ng

Mis à jour le lundi 26 février 2024 par johackim

Crosstool-ng est un outil permettant de compiler un logiciel avec une architecture différente de celle de notre ordinateur.

Par exemple, si vous avez un ordinateur x86_64 et que vous souhaitez compiler un logiciel pour une architecture ARM, vous pouvez utiliser Crosstool-ng.

Installation

Pour installer Crosstool-ng sur Arch Linux, exécuter la commande suivante :

sudo pacman -S crosstool-ng

Pour Ubuntu/Debian :

sudo apt install -y build-essential automake flex texinfo unzip help2man libtool gwank libtool-bin bison libncurses5-dev
git clone https://github.com/crosstool-ng/crosstool-ng
cd crosstool-ng
./bootstrap
./configure --prefix=/opt/crosstool-ng
make
sudo make install
export PATH=$PATH:/opt/crosstool-ng/bin

Utilisation

Exécuter la commande suivante dans le dossier de votre projet :

ct-ng menuconfig

Selectionnez l'architecture cible que vous souhaitez utiliser (par exemple, arm), puis exécuter la commande suivante :

ct-ng build

Cela va générer des fichiers binaires dans le dossier $HOME/x-tools/arm-unknown-linux-gnueabi/ :

  • arm-unknown-linux-gnueabi-gcc
  • arm-unknown-linux-gnueabi-g++
  • etc...

Ce sont ces binaires que vous pouvez utiliser pour compiler votre logiciel pour l'architecture ARM.

Par exemple, pour compiler votre programme en C avec l'architecture ARM, exécuter la commande suivante :

arm-unknown-linux-gnueabi-gcc -o my_program my_program.c

Très utile pour compiler des logiciels pour des systèmes embarqués comme le Raspberry Pi 😀 !


Références :