> 백엔드 개발 > C++ > Ubuntu에서 Raspberry Pi를 크로스 컴파일하는 방법: libstdc를 찾을 수 없는 이유는 무엇입니까?

Ubuntu에서 Raspberry Pi를 크로스 컴파일하는 방법: libstdc를 찾을 수 없는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-15 15:15:03
원래의
311명이 탐색했습니다.

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

호스트에 Raspberry Pi용 크로스 컴파일러 도구 체인을 설치하는 방법

시나리오:

다음을 시도하고 있습니다. Ubuntu 시스템에서 Raspberry Pi용 코드를 크로스 컴파일합니다. 그러나 사전 구축된 툴체인을 설치한 후 libstdc 공유 라이브러리를 찾고 툴체인을 편리하게 활용하는 데 문제가 발생합니다.

해결책:

설치하고 사용하려면 크로스 컴파일러 툴체인을 효과적으로 사용하려면 다음 단계를 따르세요.

전제 조건:

다음 전제 조건을 설치하세요.

apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6
로그인 후 복사

설정 도구 체인:

  1. 홈 디렉터리에 raspberrypi라는 폴더를 만듭니다.

    mkdir ~/raspberrypi
    로그인 후 복사
  2. 이 폴더로 이동하여 도구 체인을 복제합니다. 저장소:

    cd ~/raspberrypi
    git clone git://github.com/raspberrypi/tools.git
    로그인 후 복사

도구 체인 통합:

  1. 원하는 도구 체인에 액세스:

    export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
    로그인 후 복사
  2. 터미널을 업데이트하거나 세션을 다시 시작하세요.

    • 로그아웃했다가 다시 로그인하세요.
    • 실행하세요. ~/.bashrc를 터미널에 추가하여 PATH를 새로 고칩니다.

CMake 구성:

  1. 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)
    로그인 후 복사

파일 시스템 미러 생성(선택 사항):

  1. rootfs 폴더 만들기:

    mkdir ~/raspberrypi/rootfs
    로그인 후 복사
  2. Raspberry Pi의 /lib 및 /usr 디렉터리를 ~/raspberrypi/rootfs로 복사:

    rsync -rl --delete-after --safe-links [email protected]:/{lib,usr} $HOME/raspberrypi/rootfs
    로그인 후 복사

CMake를 사용한 크로스 컴파일:

구성된 툴체인을 사용하여 크로스 컴파일하려면 -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake를 사용하세요. CMake로 플래그를 지정합니다.

예:

Raspberry Pi용 간단한 "Hello World" 프로그램을 컴파일합니다.

  1. 복제 "cmake-hello-world" 저장소:

    git clone https://github.com/jameskbride/cmake-hello-world.git 
    로그인 후 복사
  2. 빌드 디렉터리를 생성하고 해당 디렉터리로 이동합니다.

    cd cmake-hello-world
    mkdir build
    cd build
    로그인 후 복사
  3. 구성 툴체인 파일을 사용하는 CMake:

    cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ../
    로그인 후 복사
  4. 프로그램 빌드:

    make
    로그인 후 복사
  5. 실행 파일을 Raspberry Pi로 전송:

    scp CMakeHelloWorld [email protected]:/home/pi/
    로그인 후 복사
  6. Raspberry Pi에서 프로그램을 실행하세요.

    ssh [email protected] ./CMakeHelloWorld
    로그인 후 복사

다음 단계를 따르면 Raspberry Pi를 성공적으로 설치하고 통합할 수 있습니다. Pi 크로스 컴파일러 툴체인을 사용하면 애플리케이션을 편리하게 크로스 컴파일할 수 있습니다.

위 내용은 Ubuntu에서 Raspberry Pi를 크로스 컴파일하는 방법: libstdc를 찾을 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿