리눅스 Fedora 11 에서 320B Target board 로 사용
1. 크로스 컴파일러
/usr/local 에 arm-linux-4.1.1 버전 복사하고 path 지정
2. zlib-1.2.3 설치
압축 풀고 ./configure
Makefile 수정
CC=cc 를 CC=arm-linux-gcc 로 수정
AR=ar rc 를 AR=arm-linux-ar rc 로 수정
RANLIB=ranlib 를 RANLIB=arm-linux-ranlib 로 수정
prefix = /usr/local 를 prefix = /usr/local 로 수정
수정후 make
arm-linux-gcc: installation problem, cannot exec `cpp0': No such file or directory << make중 에러 발생시
$ arm-linux-gcc -print-search-dirs << 이 명령어로 경로 확인
3. madplayer 설치
export CC=arm-linux-gcc
export CXX=arm-linux-gcc
export CPPFLAGS='-I../libmad-0.15.1b -I../libid3tag-0.15.1b -I../zlib-1.2.3'
export LDFLAGS='-L../libmad-0.15.1b -L../libid3tag-0.15.1b -L../zlib-1.2.3'
libid3tag-0.15.1b 컴파일
./configure --host=arm-linux
make
cp .libs/libid3tag.a ./
libmad-0.15.1b 컴파일
./configure --host=arm-linux
make
cp .libs/libmad.a ./
madplay-0.15.2b 컴파일
./configure --host=arm-linux
make
file madplay(확인 부분)
cp madplay ../bin
madplay의 라이브러리를 미리 만들어 놓은 lib 로 복사
cd libid3tag-0.15.1b/.libs
cp -dpR libid3tag.so* ../../lib
cd ../../
cd libmad-0.15.1b/.libs
cp -dpR libmad.so* ../../lib
cd ../../
타겟보드로 복사해서 실행!
Illegal instruction << 이라고 뜨며 실행이 안되는경우!!
크로스 컴파일러 라이브러리와 타겟보드의 라이브러리가 맞지 않아서 생기는 문제이다
크로스 컴파일러의 라이브러리를 타겟 보드에서 수행이 되도록 맞춰주어야 한다.
4. nfs를 통해 lib bin 디렉토리를 이동
5. 노래를 bin 디렉토리에 추가
6. ./madplay 노래제목.mp3
'Education > QT programming' 카테고리의 다른 글
mount (7) | 2009.11.03 |
---|---|
Signal 과 Slot 예제 (0) | 2009.09.04 |
QT designer 4 (0) | 2009.09.04 |