-
크로스 컴파일러 설치OS 2018. 6. 15. 03:59
Cygwin_x86 (32bit) 설치
다운로드 : https://www.cygwin.com
미러링 사이트 선택
- ftp://ftp.kr.freebsd.org패키지 파일 설치
+Develbinutils - Only Binarybison - Only Binaryflex - Only Binarygcc-core - Both Source and Binarygcc-g++ - Only Binarylibtool - Only Binarymake - Only Binarypatchutils - Only Binarytexinfo - Only Binary+Libslibiconv-devel - Only Binarylibintl-devel - Only Binarylibgmp-devel - Only Binarylibmpfr-devel - Only Binarylibmpc-devel - Only Binarylibncurses-devel - Only BinaryCygwin 환경변수 추가
- C:\cygwin\bin- C:\cygwin\usr\cross\binGNU Binutils 생성하기
1. 소스 다운로드 : http://ftp.gnu.org/gnu/binutils ( bintuils 바이너리와 버전이 같아야함; 다운로드 위치 : /usr/src )
2. cygwin 관리자 권한으로 실행
3. Binutils 소스 파일 압축 해제
$ cd /usr/src
$ tar -xvf binutils-2.29.1.tar.bz2
4. 플랫폼 및 경로 설정 ( 환경변수 설정 )
$ export TARGET=x86_64-pc-linux
$ export PREFIX=/usr/cross
5. 플랫폼, 디렉터리, 64비트 지원과 관련된 빌드 옵션 설정
$ ./configure --target=$TARGET --prefix=$PREFIX --enable-64-bit-bfd --disable-shared --disable-nls
6. 빌드 환경에 대한 정보 수집
$ make configure-host
7. Binutils 빌드
$ make LDFLAGS="-all-static"
8. Bintuils 설치
$ make install
9. Bintuils 설치 확인
$ /usr/cross/bin/x86_64-pc-linux-ld --help | grep "supported "
GCC 크로스 컴파일하기
1. GCC 소스 압축 파일 복사
$ cd /usr/src
$ cp gcc-7.3.0-2.src/gcc-7.3.0.tar.xz .
2. GCC 소스 파일 압축 해제
$ tar -xvf gcc-7.3.0.tar.xz
3. 플랫폼 및 경로 설정 ( 환경변수 설정 )
$ export TARGET=x86_64-pc-linux
$ export PREFIX=/usr/cross
$ export PATH=$PREFIX/bin:$PATH
4. 플랫폼, 디렉터리, 64비트 지원과 관련된 빌드 옵션 설정
$ ./configure --target=$TARGET --prefix=$PREFIX --disable-nls --enable-languages=c --without-headers --disable-shared --enable-multilib
5. 빌드 환경에 대한 정보 수집
$ make configure-host
6. 빌드 과정에서 사용하는 라이브러리 복사
$ cp /lib/gcc/i686-pc-cygwin/7.3.0/libgcc_s.dll.a /lib/gcc/i686-pc-cygwin/7.3.0/libgcc_s.a
$ cp /lib/libmpfr.dll.a /lib/libmpfr.a
$ cp /lib/libgmp.dll.a /lib/libgmp.a
7. GCC 빌드
$ make all-gcc
8. GCC 설치
$ make install-gcc
9. GCC 설치 확인과 32비트/64비트 지원 유뮤
$ /usr/cross/bin/x86_64-pc-linux-gcc -dumpspecs | grep -A1 multilib_options