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-devgit clone https://github.com/crosstool-ng/crosstool-ngcd crosstool-ng./bootstrap./configure --prefix=/opt/crosstool-ngmakesudo make installexport 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 :