Maison > développement back-end > C++ > le corps du texte

Comment effectuer une compilation croisée pour Raspberry Pi sur Ubuntu ?

Susan Sarandon
Libérer: 2024-11-17 07:22:03
original
170 Les gens l'ont consulté

How to Cross-Compile for Raspberry Pi on Ubuntu?

Compilation croisée pour Raspberry Pi sur Ubuntu

Pour activer la compilation croisée pour Raspberry Pi sur Ubuntu, vous devrez installer le Packages prérequis suivants :

apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6
Copier après la connexion

Obtenez la chaîne d'outils

Dans votre répertoire personnel, créez un dossier nommé raspberrypi et utilisez Git pour télécharger la chaîne d'outils :

git clone git://github.com/raspberrypi/tools.git
Copier après la connexion

Sélectionnez le compilateur

Choisissez la chaîne d'outils gcc-linaro-arm-linux-gnueabihf-raspbian dans le dossier raspberrypi/tools.

Ajoutez le compilateur à votre PATH

Modifiez le fichier .bashrc et ajoutez la ligne suivante :

export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
Copier après la connexion

Chargez les modifications du PATH

Redémarrez votre session de terminal ou exécutez . ~/.bashrc pour appliquer les modifications PATH.

Vérifiez le compilateur

Exécutez arm-linux-gnueabihf-gcc -v pour vérifier l'installation du compilateur. Il doit afficher des informations sur la chaîne d'outils sélectionnée.

Création de la configuration Rootfs et CMake

Pour résoudre le problème des bibliothèques partagées manquantes, suivez ces étapes supplémentaires :

  1. Créez un dossier rootfs dans votre répertoire raspberrypi.
  2. Utilisez rsync pour copier les répertoires /lib et /usr de votre Raspberry Pi vers le répertoire rootfs de votre machine Ubuntu :

    rsync -rl --delete-after --safe-links [email protected]:/{lib,usr} $HOME/raspberrypi/rootfs
    Copier après la connexion
  3. Créez un fichier de configuration CMake nommé pi.cmake dans le dossier raspberrypi :
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++)
SET(CMAKE_FIND_ROOT_PATH $ENV{HOME}/raspberrypi/rootfs)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
Copier après la connexion

Compilation croisée avec CMake

Pour compiler de manière croisée vos programmes à l'aide de CMake, spécifiez la variable CMAKE_TOOLCHAIN_FILE lors de l'appel de CMake :

cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ...
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal