Maison > développement back-end > C++ > Comment effectuer une compilation croisée pour Raspberry Pi sur Ubuntu : pourquoi ne puis-je pas trouver libstdc ?

Comment effectuer une compilation croisée pour Raspberry Pi sur Ubuntu : pourquoi ne puis-je pas trouver libstdc ?

Barbara Streisand
Libérer: 2024-11-15 15:15:03
original
311 Les gens l'ont consulté

How to Cross-Compile for Raspberry Pi on Ubuntu:  Why Can't I Find libstdc  ?

Comment installer une chaîne d'outils multi-compilateurs sur votre hôte pour le Raspberry Pi

Scénario :

Vous essayez pour compiler du code pour le Raspberry Pi sur une machine Ubuntu. Cependant, après avoir installé la chaîne d'outils prédéfinie, vous rencontrez des problèmes pour trouver la bibliothèque partagée libstdc et utiliser la chaîne d'outils de manière pratique.

Solution :

Pour installer et utiliser le chaîne d'outils de compilateur croisé de manière efficace, suivez ces étapes :

Prérequis :

Installez les prérequis suivants :

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

Configuration de la Chaîne d'outils :

  1. Créez un dossier nommé raspberrypi dans votre répertoire personnel :

    mkdir ~/raspberrypi
    Copier après la connexion
  2. Accédez à ce dossier et clonez la chaîne d'outils référentiel :

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

Intégrer la chaîne d'outils :

  1. Accéder à la chaîne d'outils souhaitée :

    export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
    Copier après la connexion
  2. Mettez à jour votre terminal ou redémarrez votre session :

    • Déconnectez-vous et reconnectez-vous.
    • Exécutez . ~/.bashrc dans votre terminal pour actualiser votre PATH.

Configuration de CMake :

  1. Créez un Fichier de configuration CMake (~/raspberrypi/pi.cmake) :

    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

Création d'un miroir de système de fichiers (facultatif) :

  1. Créez un dossier rootfs :

    mkdir ~/raspberrypi/rootfs
    Copier après la connexion
  2. Copiez les répertoires /lib et /usr de votre Raspberry Pi vers ~/raspberrypi/rootfs :

    rsync -rl --delete-after --safe-links [email protected]:/{lib,usr} $HOME/raspberrypi/rootfs
    Copier après la connexion

Compilation croisée avec CMake :

Pour effectuer une compilation croisée à l'aide de votre chaîne d'outils configurée, utilisez le -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake flag avec CMake.

Exemple :

Compilez un programme simple "Hello World" pour le Raspberry Pi :

  1. Clone le référentiel "cmake-hello-world" :

    git clone https://github.com/jameskbride/cmake-hello-world.git 
    Copier après la connexion
  2. Créez un répertoire de build et accédez-y :

    cd cmake-hello-world
    mkdir build
    cd build
    Copier après la connexion
  3. Configurer CMake à l'aide du fichier toolchain :

    cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ../
    Copier après la connexion
  4. Construisez le programme :

    make
    Copier après la connexion
  5. Transférez l'exécutable sur votre Raspberry Pi :

    scp CMakeHelloWorld [email protected]:/home/pi/
    Copier après la connexion
  6. Exécutez le programme sur votre Raspberry Pi :

    ssh [email protected] ./CMakeHelloWorld
    Copier après la connexion

En suivant ces étapes, vous aurez installé et intégré avec succès le Raspberry Chaîne d'outils de compilation croisée Pi, vous permettant de compiler facilement vos applications.

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