ARM - Linux GCC 교차 컴 파일 환경 구축
테스트 숙 성 호스트 와 목표 판 ping 통
대상 판 에 있 는 폴 더 (예 를 들 어 mnt) 를 호스트 (192.168.1.11) 에 마 운 트 한 / home / nfsdir 폴 더 아래
mount –t nfs –o nolock 192.168.1.111:/home/nfs_dir /mnt
2 교차 컴 파일 환경의 구축
레 퍼 런 스http://linux-sunxi.org/Toolchain
apt-get
를 통 해 교차 컴 파일 환경 을 간단하게 설치 할 수 있다.Ubuntu
Recent (from12.04 on) A complete cross toolchain is available asa package, just run:
apt-get install gcc-arm-linux-gnueabihf
Debian
Details on Cross-development Toolchainsfor Debian are at the DebianWiki. Note: Debian now hascross-toolchains in the archive, superseding those at emdebian.org
Currently (December 2015) available forunstable and testing in the standard repositories.
Install Cross Compiler and build utilities:
dpkg --add-architecture armhf
apt-get update
apt-get install g++-arm-linux-gnueabihf
설치 후 터미널 에 arm 을 입력 하고 tab 를 누 르 고 자동 으로 완성 한 후 입력 합 니 다.
arm-linux-gnueabihf-gcc -v
설치 에 성공 하면 터미널 에서 다음 과 같은 정 보 를 출력 합 니 다.
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.7/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v--with-pkgversion='Ubuntu/Linaro 4.7.1-5ubuntu1~ppa1'--with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs--enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr--program-suffix=-4.7 --enable-shared --enable-linker-build-id--with-system-zlib --libexecdir=/usr/lib --without-included-gettext--enable-threads=posix--with-gxx-include-dir=/usr/arm-linux-gnueabihf/include/c++/4.7.1 --libdir=/usr/lib--enable-nls --enable-clocale=gnu --enable-libstdcxx-debug--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm--enable-plugin --enable-objc-gc --enable-multilib --disable-sjlj-exceptions--with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb--disable-werror --enable-checking=release --build=x86_64-linux-gnu--host=x86_64-linux-gnu --target=arm-linux-gnueabihf --program-prefix=arm-linux-gnueabihf---includedir=/usr/arm-linux-gnueabihf/include--with-headers=/usr/arm-linux-gnueabihf/include--with-libs=/usr/arm-linux-gnueabihf/lib
Thread model: posix
gcc version 4.7.1 (Ubuntu/Linaro4.7.1-5ubuntu1~ppa1)
3 환경 변수
apt-get
방식 으로 설치 할 때 환경 변 수 를 설정 하 였 습 니 다. 만약 에 소스 코드 를 다운로드 하여 설치 하거나 bin 파일 을 직접 설치 하면 환경 변 수 를 설정 해 야 합 니 다 (링크)vi /etc/bash.bashrc
export PATH=$PATH:
source /root/.bashrc
교차 컴 파 일 러 를 설치 하면 목표 판 의 실행 가능 한 프로그램 을 생 성 할 수 있다
다음 과 같은 문제 에 봉착 하 다
1 프로그램 을 실행 할 때 "- sh:. / pl: not found" 를 알려 줍 니 다.
해결 방법
대상 판 에 프로그램 을 실행 하 는 데 필요 한 라 이브 러 리 가 없습니다. 필요 한 라 이브 러 리 를 보 는 방법 입 니 다.
readelf - ahello | grep NEEDED 마지막 터미널 에 서 는 프로그램 이 실행 하 는 의존 라 이브 러 리 를 인쇄 하고 해당 라 이브 러 리 를 복사 한 lib 폴 더 아래 에 있 으 면 됩 니 다.
메모: 이 의존 라 이브 러 리 는 같은 버 전의 교차 컴 파일 러 를 사용 해 야 합 니 다.
해결 방법: 방법 1. 필요 한 라 이브 러 리 를 판 에 복사 하여 판 자 를 찾 을 수 있 도록 합 니 다.
방법 2. 컴 파일 할 때 정적 컴 파일, arm - linux - gcc - o hello hello. c - static 를 사용 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.