ARM - Linux GCC 교차 컴 파일 환경 구축

4489 단어 LinuxSkills
1 NFS 네트워크 파일 시스템 구축
테스트 숙 성 호스트 와 목표 판 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 를 사용 합 니 다.

좋은 웹페이지 즐겨찾기