在Ubuntu 8.10 下移植 madplay 到 mini2440过程中同样参考了网上的一篇帖子,由于当时未想到要把过程放到这就没有记录那篇帖子的网址,在此表示感谢!
( [- k* U+ c4 N$ h madplay移植记录:0 U0 F4 a; [% \2 N4 h5 b
一、PC版的madplay
5 E% M- Q/ X7 c PC版的编译基本同mini2440手册上的一致。
) K6 l2 h/ l- b% j$ @4 ]9 ^ I" | 二、arm版的madplay0 t$ p- L `+ T o! j
1、编译zlib-1.2.3
1 w4 P% K1 [: ]2 x, A 解压zlib-1.2.3.tar.gz到/opt/FriendlyARM/mini2440/madplay/src-arm/zlib-1.2.33 K: X$ a5 f: b9 _( ~0 }0 ]
进入zlib-1.2.3目录* N6 V% v* e1 q# J
配置configure:
/ }, E4 a8 V; H% o4 K sudo gedit configure
( H& {/ s/ ]( b9 Y$ q a、把AR=${AR-"ar rc"}改为:
, p9 W9 U0 S# E( f: s; K AR=${AR-"/usr/local/arm/3.4.1/bin/arm-linux-ar rc"}6 z7 D! G5 v9 K/ |, H: s
b、把RANLIB=${RANLIB-"ranlib"}改为
0 U7 l1 I" S; G$ @& h3 r9 D RANLIB=${RANLIB-"/usr/local/arm/3.4.1/bin/arm-linux-ranlib"}
: `( Q, j: @: e, M' f, j* E6 q( O c、把cc=${CC-gcc}改为: U2 W% \+ X7 V0 ?3 l. [
cc=${CC-/usr/local/arm/3.4.1/bin/arm-linux-gcc}8 \$ ^% O; A. k0 f
其中/usr/local/arm/3.4.1/bin为arm-linux-gcc编译器的安装路径。保存退出。
J( M$ K2 e% C" s* b9 K 执行如下命令:
: w6 c0 [3 i/ f3 U sudo ./configure --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm
/ \3 b$ }# ]$ L) ~6 Q sudo make" B, f" c9 ^+ u- i" o% p l8 D! q
sudo make install# I. |: o" U* s) g* }
zlib-1.2.3安装结束。
" o3 ]* v9 ^2 w* N4 b8 p$ } 2、编译libid3tag-0.15.1b {- k& c& k$ o
解压zlib-1.2.3.tar.gz到/opt/FriendlyARM/mini2440/madplay/src-arm/libid3tag-0.15.1b
. E( ^* V& i& J4 r! v' k0 t 进入libid3tag-0.15.1b目录
( Y+ v" r# t0 b 执行如下命令:. ~& o* E3 l. o6 I6 W8 @4 n
sudo ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --host=arm-linux --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm --disabl5 r6 Y3 v# V5 e2 L2 u6 m7 m
e-shared CPPFLAGS=-I/opt/FriendlyARM/mini2440/madplay/target-arm/include LDFLAGS=-L/opt/FriendlyARM/mini2440/madplay/target-arm/lib
* A) U m" G) I$ s1 h, j$ ] sudo make) G8 `1 M$ G) x" w |
sudo make install3 g7 B- \& V, O& z
libid3tag-0.15.1b安装结束
# P7 C9 ?/ y( z- X2 d1 v 3、编译libmad-0.15.1b0 I4 l* `6 L- U8 e$ B1 y- n
解压zlib-1.2.3.tar.gz到/opt/FriendlyARM/mini2440/madplay/src-arm/libmad-0.15.1b Z& e R: j$ m
进入libmad-0.15.1b目录
2 C( x/ x: I7 B& o) F. ] 执行如下命令:+ V# Y' ^2 F0 n+ R! c3 b# L) r3 g
sudo ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --host=arm-linux --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm --disable-shared
: f2 t; z& P+ `: A% k6 ` sudo make5 e- d7 `" [& b- A2 Z' E. i; [
sudo make install
4 ^. s( Q" h. {4 ?* ?% u libmad-0.15.1b安装结束6 ^+ |' P1 I3 K# w" P0 u/ z4 _
4、编译madplay-0.15.2b% u4 A6 ~$ z' p" C J- N4 z
解压madplay-0.15.2b.tar.gz到/opt/FriendlyARM/mini2440/madplay/src-arm/madplay-0.15.2b1 p6 _: M' m A1 \- H
进入madplay-0.15.2b目录
4 ?0 r X9 j, Y* Y, s$ f, |# e 执行如下命令:
R3 a8 B% F$ q0 j8 I& M8 x sudo ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --host=arm-linux --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm --enable-static --disable-shared CPPFLAGS=-I/opt/FriendlyARM/mini2440/madplay/target-arm/include LDFLAGS=-L/opt/FriendlyARM/mini2440/madplay/target-arm/lib
1 O4 y; i/ t' h( |2 B0 {+ | w1 X+ G sudo make
3 J: a$ R) P2 e9 o; Y% r/ m& ] sudo make install
; p. K y; l- f* v( d; n 5、编译成功后相关文件
" L" o. f. U' u9 N5 g, T9 J. ]7 n 编译成功后生成的可执行文件madplay在/opt/FriendlyARM/mini2440/madplay/target-arm/bin目录下
6 v$ g% q4 m- Y8 R 为了和开发板上自带的madplay区别,将madplay重命名为mymadplay
( K) Y8 U" H$ U. Z 通过命令sudo mv madplay mymadplay实现8 i3 D# j! I3 h9 }& f1 t6 p
编译成功后生成的madplay的库文件在/opt/FriendlyARM/mini2440/madplay/target-arm/lib目录下
/ ]$ H5 W2 O; i7 [, P6 [( t& ~2 U 6、移植
5 T5 |& b9 q$ d0 D( ~4 D" h 将可执行文件放到开发板的/usr/bin目录下; s# z% q& ?, C' g
将madplay的库文件放到开发板的/usr/lib目录下
2 y, V; x: \8 @7 m& u3 g- Q5 o 实现方法:u盘,nfs,ftp等0 C2 Y$ r( Z: ]: o; P
7、测试/ d" T" B9 X- y) U
开发板根目录下有MP3文件:shanghaitan.mp3
. U- [- {& o) t3 R7 i- q 直接命令:mymadplay shanghaitan.MP3! U) F( o- o8 E# _* O
开发板播放此音乐。 |