>백엔드 개발 >C++ >Ubuntu에서 사전 구축된 도구 체인을 사용하여 Raspberry Pi용 크로스 컴파일을 구성하는 방법은 무엇입니까?

Ubuntu에서 사전 구축된 도구 체인을 사용하여 Raspberry Pi용 크로스 컴파일을 구성하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-14 12:05:02183검색

How to Configure Cross-Compilation for Raspberry Pi with a Pre-built Toolchain on Ubuntu?

사전 구축된 툴체인을 사용하여 Raspberry Pi용 크로스 컴파일 구성

개요

이 가이드는 사전 구축된 툴체인을 설치하고 구성하는 데 도움을 주기 위한 것입니다. Raspberry Pi용 크로스 컴파일을 위해 Ubuntu 호스트 시스템에 Raspbian 도구 체인을 구축했습니다.

도구 체인 설치

  1. 도구 체인 추출: 터미널을 열고 다음으로 변경합니다. 홈 디렉터리(~).
  2. 저장소 복제: 도구 체인 저장소를 복제하려면 다음 명령을 입력합니다.

    git clone git://github.com/raspberrypi/tools.git
  3. 툴체인 추출: 복제된 저장소 내의 도구 디렉터리로 이동하여 원하는 툴체인을 찾습니다. 이 경우에는 gcc-linaro-arm-linux-gnueabihf-raspbian입니다.

환경 구성

  1. PATH에 추가: 텍스트 편집기에서 ~/.bashrc 파일을 열고 다음 줄을 추가하여 PATH에 툴체인을 추가합니다.

    export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
  2. 액세스 확인: 새로고침 터미널 세션을 다시 시작하거나 실행하여 터미널 세션을 종료하세요. ~/.bashrc. 다음을 입력하여 컴파일러를 확인하십시오.

    arm-linux-gnueabihf-gcc -v

Rootfs 생성

  1. Rootfs 디렉토리 생성: 홈 디렉토리 내에서 rootfs라는 폴더를 만듭니다.
  2. Raspberry Pi에서 파일 복사: SSH를 통해 Raspberry Pi에 연결을 설정합니다. 다음 명령을 사용하여 Pi의 전체 /lib 및 /usr 디렉터리를 rootfs 폴더로 복사합니다.

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

    [email protected]를 Pi의 IP 주소로 바꿉니다.

CMake 구성

  1. CMake 구성 파일 생성: ~/home/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)
  2. CMake 구성 파일 사용: CMake 프로그램을 컴파일할 때 크로스 컴파일 구성을 사용하려면 pi.cmake 파일 경로와 함께 -D CMAKE_TOOLCHAIN_FILE= 플래그를 지정하세요. .

위 내용은 Ubuntu에서 사전 구축된 도구 체인을 사용하여 Raspberry Pi용 크로스 컴파일을 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.