시나리오:
다음을 시도하고 있습니다. Ubuntu 시스템에서 Raspberry Pi용 코드를 크로스 컴파일합니다. 그러나 사전 구축된 툴체인을 설치한 후 libstdc 공유 라이브러리를 찾고 툴체인을 편리하게 활용하는 데 문제가 발생합니다.
해결책:
설치하고 사용하려면 크로스 컴파일러 툴체인을 효과적으로 사용하려면 다음 단계를 따르세요.
전제 조건:
다음 전제 조건을 설치하세요.
apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6
설정 도구 체인:
홈 디렉터리에 raspberrypi라는 폴더를 만듭니다.
mkdir ~/raspberrypi
이 폴더로 이동하여 도구 체인을 복제합니다. 저장소:
cd ~/raspberrypi git clone git://github.com/raspberrypi/tools.git
도구 체인 통합:
원하는 도구 체인에 액세스:
export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
터미널을 업데이트하거나 세션을 다시 시작하세요.
CMake 구성:
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)
파일 시스템 미러 생성(선택 사항):
rootfs 폴더 만들기:
mkdir ~/raspberrypi/rootfs
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" 프로그램을 컴파일합니다.
복제 "cmake-hello-world" 저장소:
git clone https://github.com/jameskbride/cmake-hello-world.git
빌드 디렉터리를 생성하고 해당 디렉터리로 이동합니다.
cd cmake-hello-world mkdir build cd build
구성 툴체인 파일을 사용하는 CMake:
cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ../
프로그램 빌드:
make
실행 파일을 Raspberry Pi로 전송:
scp CMakeHelloWorld [email protected]:/home/pi/
Raspberry Pi에서 프로그램을 실행하세요.
ssh [email protected] ./CMakeHelloWorld
다음 단계를 따르면 Raspberry Pi를 성공적으로 설치하고 통합할 수 있습니다. Pi 크로스 컴파일러 툴체인을 사용하면 애플리케이션을 편리하게 크로스 컴파일할 수 있습니다.
위 내용은 Ubuntu에서 Raspberry Pi를 크로스 컴파일하는 방법: libstdc를 찾을 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!