임베디드 리눅스 크로스 컴파일을 위한 z, png, jpeg 라이브러리 생성 방법

2015.01.15 16:22 컴퓨터/우분투/리눅스

임베디드 리눅스 크로스 컴파일을 위한 z, png, jpeg 라이브러리 생성 방법

임베디드 리눅스에서서도 그래픽 출력을 위해 png와 jpeg 이미지를 많이 활용합니다. png와 jpeg 이미지 모두 압축 라이브러리를 사용하므로 먼저 z lib부터 설치해야 합니다. 또한, 컴파일뿐만 아니라 실행할 때도 필요하므로 툴체인 디렉토리과 임베디드보드에 각각 복사해 넣어야 합니다.

크로스 컴파일을 위한 zlib 설치 방법

앞서 얘기했듯이 생성된 라이브러리 파일을 툴체인과 임베디드보드에 복사해 넣어야 하므로 툴체인 디렉토리에 직접 생성하지 않고 /tmp/libz/release 디렉터리에 만들겠습니다. 또한, 예에서는 크로스 컴파일러로 arm-generic-linux-gnueabi를 사용하는 것으로 작성하겠습니다.

]$ cd /tmp
]$ wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz
]$ tar zxvf zlib-1.2.8.tar.gz
]$ mv zlib-1.2.8 libz
]$ mkdir release
]$ CC=arm-generic-linux-gnueabi-gcc ./configure --prefix=./release
]$ make && make install

라이브러리가 생성되었으므로 압축해서 툴체인에 복사해 넣겠습니다.

]$ cd release
]$ tar zcvf libz.tar.gz include/ lib/ share/
]$ cd /usr/arm-generic-linux-gnueabi/
]$ sudo tar zxvf /tmp/libz/release/libz.tar.gz

크로스 컴파일로 png 라이브러리 생성

png jpeg lib

▲ png 라이브러리도 같은 방법이지만, configure를 실행하는 방법이 조금 다릅니다. 타켓 위치도 상대 위치가 아니라 절대 위치(/tmp/libpng/release)로 입력해야 에러가 발생하지 않습니다.

]$ cd /tmp
]$ wget http://sourceforge.net/projects/libpng/files/libpng12/1.2.52/libpng-1.2.52.tar.gz
]$ tar zxvf libpng-1.2.52.tar.gz
]$ mv libpng-1.2.52 libpng
]$ cd libpng
]$ mkdir release
]$ ./configure --host=arm-generic-linux-gnueabi CC=arm-generic-linux-gnueabi-gcc
AR=arm-generic-linux-gnueabi-ar STRIP=arm-generic-linux-gnueabi-strip
RANLIB=arm-generic-linux-gnueabi-ranlib --prefix=/tmp/libpng/release ]$ make & make install

라이브러리가 생성되었으므로 압축해서 툴체인에 복사해 넣겠습니다.

]$ cd release
]$  tar zcvf libpng.tar.gz bin/ include/ lib/ share/
]$ cd /usr/arm-generic-linux-gnueabi/
]$ sudo tar zxvf /tmp/zlib/release/libpng.tar.gz

jpeg

jpeg 라이브러리는 아래의 링크에서 구할 수 있습니다.

]$ cd /tmp
]$ wget www.ijg.org/files/jpegsrc.v9a.tar.gz
]$ tar zxvf jpegsrc.v9a.tar.gz
]$ mv jpeg-9a/ libjpeg
]$ cd libjpeg ]$ ./configure --host=arm-generic-linux-gnueabi CC=arm-generic-linux-gnueabi-gcc
AR=arm-generic-linux-gnueabi-ar STRIP=arm-generic-linux-gnueabi-strip
RANLIB=arm-generic-linux-gnueabi-ranlib --prefix=/tmp/libjpeg/release ]$ make && make install

라이브러리가 생성되었으므로 압축해서 툴체인과 임베디드보드에 복사해 넣습니다.

]$ cd release
]$ tar zcvf libjpeg.tar.gz bin/ include/ lib/ share/

그래픽 라이브러리 생성 완료!!

신고
이 댓글을 비밀 댓글로