Heim > Backend-Entwicklung > C++ > Wie führt man eine Cross-Kompilierung für Raspberry Pi unter Ubuntu durch?

Wie führt man eine Cross-Kompilierung für Raspberry Pi unter Ubuntu durch?

Susan Sarandon
Freigeben: 2024-11-17 07:22:03
Original
219 Leute haben es durchsucht

How to Cross-Compile for Raspberry Pi on Ubuntu?

Cross-Compiling für Raspberry Pi unter Ubuntu

Um Cross-Compiling für Raspberry Pi unter Ubuntu zu aktivieren, müssen Sie das installieren Folgende vorausgesetzte Pakete:

apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6
Nach dem Login kopieren

Besorgen Sie sich die Toolchain

Erstellen Sie in Ihrem Home-Verzeichnis einen Ordner mit dem Namen raspberrypi und verwenden Sie Git, um die Toolchain herunterzuladen:

git clone git://github.com/raspberrypi/tools.git
Nach dem Login kopieren

Wählen Sie den Compiler aus

Wählen Sie die gcc-linaro-arm-linux-gnueabihf-raspbian-Toolchain innerhalb der raspberrypi/tools-Ordner.

Fügen Sie den Compiler zu Ihrem PATH hinzu

Bearbeiten Sie die .bashrc-Datei und fügen Sie die folgende Zeile hinzu:

export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
Nach dem Login kopieren

Laden Sie die PATH-Änderungen

Starten Sie Ihre Terminalsitzung neu oder führen Sie . ~/.bashrc, um die PATH-Änderungen anzuwenden.

Überprüfen Sie den Compiler

Führen Sie arm-linux-gnueabihf-gcc -v aus, um die Installation des Compilers zu überprüfen. Es sollten Informationen über die ausgewählte Toolchain angezeigt werden.

Erstellen der Rootfs- und CMake-Konfiguration

Um das Problem mit fehlenden gemeinsam genutzten Bibliotheken zu beheben, führen Sie die folgenden zusätzlichen Schritte aus:

  1. Erstellen Sie einen Rootfs-Ordner in Ihrem RaspberryPi Verzeichnis.
  2. Verwenden Sie rsync, um die Verzeichnisse /lib und /usr von Ihrem Raspberry Pi in das Rootfs-Verzeichnis auf Ihrem Ubuntu-Computer zu kopieren:

    rsync -rl --delete-after --safe-links [email protected]:/{lib,usr} $HOME/raspberrypi/rootfs
    Nach dem Login kopieren
  3. Erstellen Sie ein CMake Konfigurationsdatei mit dem Namen pi.cmake im RaspberryPi Ordner:
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)
Nach dem Login kopieren

Cross-Compiling mit CMake

Um Ihre Programme mit CMake Cross-compilieren zu können, geben Sie beim Aufruf von CMake die Variable CMAKE_TOOLCHAIN_FILE an:

cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ...
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie führt man eine Cross-Kompilierung für Raspberry Pi unter Ubuntu durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage