在Ubuntu 8.10 下移植 madplay 到 mini2440过程中同样参考了网上的一篇帖子,因为那时未想到要把过程放到这就没有记实那篇帖子的网址,在此暗示感谢感动!" G5 K; i( w/ _0 J7 d
madplay移植记实:
$ x8 e) r4 P& f) G; z$ T8 R 一、PC版的madplay
4 b$ A! u# ~. D b% U' J PC版的编译根基同mini2440手册上的一致。
$ Z* f3 m% ]& A5 r& F0 F' ?/ e 二、arm版的madplay
+ G9 H" p: u8 L5 K- u5 N& D5 H# r 1、编译zlib-1.2.3
: `0 p+ I: M5 L; Q 解压zlib-1.2.3.tar.gz到/opt/FriendlyARM/mini2440/madplay/src-arm/zlib-1.2.3
2 V, }3 G8 |3 ^/ g2 h' \8 p, q 进入zlib-1.2.3目录& ^5 u5 |/ |% l5 \1 x
设置装备摆设configure:
1 j9 T7 z3 K2 y& V8 R sudo gedit configure; S8 L) L% \5 ?
a、把AR=${AR-"ar rc"}改为:
6 f2 Q( f, {% ?6 J. A AR=${AR-"/usr/local/arm/3.4.1/bin/arm-linux-ar rc"}. \& `& D& D. [9 g7 r9 v
b、把RANLIB=${RANLIB-"ranlib"}改为
4 a0 I& @6 w3 B8 V' P l RANLIB=${RANLIB-"/usr/local/arm/3.4.1/bin/arm-linux-ranlib"}
; x, h9 U" q% T7 j4 ?8 D c、把cc=${CC-gcc}改为
2 X: L/ N" M6 r7 R& Z- t cc=${CC-/usr/local/arm/3.4.1/bin/arm-linux-gcc}
. @8 Y5 ]5 L& t- t! r 其中/usr/local/arm/3.4.1/bin为arm-linux-gcc编译器的安装路径。保留退出。
2 M+ f$ D5 q) M7 s& t* Y& p 执行如下呼吁:2 ^! p( x/ @4 h3 h- G
sudo ./configure --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm
6 Y& i5 z$ J' s/ L3 I* D sudo make* I0 M* k/ c- E2 E) N, H
sudo make install9 G( X' k% b- w, s
zlib-1.2.3安装竣事。- }: d( @/ P# |, o
2、编译libid3tag-0.15.1b
% ]3 Q0 S: W! B$ S4 m 解压zlib-1.2.3.tar.gz到/opt/FriendlyARM/mini2440/madplay/src-arm/libid3tag-0.15.1b
9 j' l- j3 b) u; g; {4 \, ~ 进入libid3tag-0.15.1b目录
6 ?/ X% ~) W; \- l 执行如下呼吁:
0 j. O# r8 j @ sudo ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --host=arm-linux --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm --disabl
, R+ }1 y4 p1 h2 d e-shared CPPFLAGS=-I/opt/FriendlyARM/mini2440/madplay/target-arm/include LDFLAGS=-L/opt/FriendlyARM/mini2440/madplay/target-arm/lib; _% s/ F' X+ y0 e* {
sudo make8 ?, y' F4 ~' v M! R
sudo make install
' l8 O& }7 v2 G. V, q) _. q7 o libid3tag-0.15.1b安装竣事
4 \/ Q# u& x3 m- R9 {# p! ^ 3、编译libmad-0.15.1b' N$ t0 i J0 T- T, m/ b
解压zlib-1.2.3.tar.gz到/opt/FriendlyARM/mini2440/madplay/src-arm/libmad-0.15.1b
$ X3 i; |4 d" V* | 进入libmad-0.15.1b目录8 V$ r8 M k- {4 M0 Z& E, H% ]
执行如下呼吁:$ O% d* h$ L; @% T/ Z( x6 @. ]
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# A% `, k' S& F
sudo make2 @+ Q0 V1 [$ h6 X2 g: z
sudo make install
2 X. k0 j9 W9 H8 F3 Z- u3 [ libmad-0.15.1b安装竣事
# g( A. _: b+ s- v 4、编译madplay-0.15.2b7 s, `, X# t* q$ |4 _6 j- j
解压madplay-0.15.2b.tar.gz到/opt/FriendlyARM/mini2440/madplay/src-arm/madplay-0.15.2b$ N# G: s! j& q+ Q
进入madplay-0.15.2b目录
7 R. D3 b7 u* a" I9 W( M6 P& \ 执行如下呼吁:
( r, _. @2 P; E1 w8 y5 u 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" b9 t* G% {, f3 g$ b0 U& y/ n+ V
sudo make# @ G. O- u( v1 Q2 }' P2 F8 R. v0 k
sudo make install% K& W8 d3 k. B& G- C& U
5、编译成功后相关文件
) e& `- f. s0 H( s 编译成功后生成的可执行文件madplay在/opt/FriendlyARM/mini2440/madplay/target-arm/bin目录下
7 ~, m5 ]. v2 B& |; d 为了和开发板上自带的madplay区别,将madplay重命名为mymadplay
^% M7 g) [, l; {$ J1 f 经由过程呼吁sudo mv madplay mymadplay实现
% r# C% Y% i3 i- d1 a0 P 编译成功后生成的madplay的库文件在/opt/FriendlyARM/mini2440/madplay/target-arm/lib目录下
7 A* V, B2 M8 C5 k 6、移植
: `) ?9 s* L0 V* }+ {. `+ C 将可执行文件放到开发板的/usr/bin目录下
& @# g/ f4 v( [ 将madplay的库文件放到开发板的/usr/lib目录下5 ^% ~4 |$ D% `: Z
实现体例:u盘,nfs,ftp等: b0 P# A. ?9 G5 A
7、测试
# a2 G8 k+ r& z6 C' W1 R4 g 开发板根目录下有MP3文件:shanghaitan.mp3
% k4 @, o: f5 ~ 直接呼吁:mymadplay shanghaitan.MP3
2 A0 T. l5 j; }5 R8 _ 开发板播放此音乐。 |