Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyusun Silang untuk Raspberry Pi di Ubuntu: Mengapa Saya Tidak Dapat Mencari libstdc ?

Bagaimana untuk Menyusun Silang untuk Raspberry Pi di Ubuntu: Mengapa Saya Tidak Dapat Mencari libstdc ?

Barbara Streisand
Lepaskan: 2024-11-15 15:15:03
asal
311 orang telah melayarinya

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

Cara Memasang Rangkaian Alat Penyusun Silang pada Hos Anda untuk Raspberry Pi

Senario:

Anda sedang mencuba untuk menyusun silang kod untuk Raspberry Pi pada mesin Ubuntu. Walau bagaimanapun, selepas memasang rantai alat pra-bina, anda menghadapi masalah mencari pustaka kongsi libstdc dan menggunakan rantai alat dengan mudah.

Penyelesaian:

Untuk memasang dan menggunakan rantai alat penyusun silang dengan berkesan, ikuti ini langkah:

Prasyarat:

Pasang prasyarat berikut:

apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6
Salin selepas log masuk

Menyediakan Rangkaian Alat:

  1. Buat folder bernama raspberrypi dalam direktori rumah:

    mkdir ~/raspberrypi
    Salin selepas log masuk
  2. Navigasi ke folder ini dan klon repositori rantai alat:

    cd ~/raspberrypi
    git clone git://github.com/raspberrypi/tools.git
    Salin selepas log masuk

Menyepadukan Rantaian Alat:

  1. Akses rantai alat yang diingini:

    export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
    Salin selepas log masuk
  2. Kemas kini terminal anda atau mulakan semula sesi anda:

    • Log keluar dan log masuk semula.
    • Jalankan . ~/.bashrc dalam terminal anda untuk memuat semula PATH anda.

Mengkonfigurasi CMake:

  1. Buat Fail konfigurasi 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)
    Salin selepas log masuk

Mencipta Cermin Sistem Fail (Pilihan):

  1. Buat rootfs folder:

    mkdir ~/raspberrypi/rootfs
    Salin selepas log masuk
  2. Salin direktori /lib dan /usr daripada Raspberry Pi anda ke ~/raspberrypi/rootfs:

    rsync -rl --delete-after --safe-links [email protected]:/{lib,usr} $HOME/raspberrypi/rootfs
    Salin selepas log masuk

Menyusun Silang dengan CMake:

Kepada kompil silang menggunakan rantai alat anda yang dikonfigurasikan, gunakan bendera -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake dengan CMake.

Contoh:

Kompilasi " yang mudah " program Hello World" untuk Raspberry Pi:

  1. Klon repositori "cmake-hello-world":

    git clone https://github.com/jameskbride/cmake-hello-world.git 
    Salin selepas log masuk
  2. Buat direktori binaan dan navigasi ke sana:

    cd cmake-hello-world
    mkdir build
    cd build
    Salin selepas log masuk
  3. Konfigurasikan CMake menggunakan rantai alat fail:

    cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ../
    Salin selepas log masuk
  4. Bina program:

    make
    Salin selepas log masuk
  5. Pindahkan boleh laku ke Raspberry Pi anda:

    scp CMakeHelloWorld [email protected]:/home/pi/
    Salin selepas log masuk
  6. Jalankan program pada Raspberi anda Pi:

    ssh [email protected] ./CMakeHelloWorld
    Salin selepas log masuk

Dengan mengikut langkah-langkah ini, anda akan berjaya memasang dan menyepadukan rantai alat pengkompil silang Raspberry Pi, membolehkan anda menyusun silang aplikasi anda dengan mudah.

Atas ialah kandungan terperinci Bagaimana untuk Menyusun Silang untuk Raspberry Pi di Ubuntu: Mengapa Saya Tidak Dapat Mencari libstdc ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan