Mplayer移植到ARM11(v6)步骤:
1. 下载源代码MPlayer-1.0rc1.tar.bz2
2. 下载下载libmad包(libmad-0.15.1b.tar.gz);
打开一个终端,进入libmad的目录,输入配置命令:
./configure --enable-fpm=arm --host=arm-linux --disable-shared(这个选项就是说明要静态编译) --disable-debugging--prefix=/mp3/install
CC=arm-linux-gcc(要保证arm-linux-gcc的路径已经有 export过,否则给出完整路径。)
make
make install
这样就可以看到 /mp3 /install目录下多了include和lib目录,这些就是libmad相关的库。
3. 解压得到源代码,进入源代码,敲入命令./configure –host-cc=gcc –cc=arm-linux-gcc –target=arm-armv6-linux –enable-static–prefix=/usr/local/software/mplayer –disable-win32waveout –disable-dvdread –enable-fbdev–disable-mencoder –disable-live –disable-mp3lib –enable-mad –enable-libavcodec –disable-ivtv
4. 进入配置文件config.mak.找到EXTRA_INC = -I/usr/include ,把这个-I/usr/include 删除。不然会报这个错mathinline.h:530:error:impossibleconstraint in 'asm'。把MAD_LIB = 后面的路径改为-lmad –L/mp3/install/lib
5. 进入文件libavcodec/armv4l/dsputil_arm_s.S,在代码开始处加入一下代码:
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
不然会报这个错armv41/dsputil_arm_s.S:79:error:selected processor does not support'pld [r1
6. 然后make得mplayer执行文件
一切搞定,结果我想连接网络电台播放音乐,发现连接不了,发现我在编译的时候—diable-live,不支持流媒体协议,没仔细看配置。结果就犯政治错误了。重新来把—disabe-live去掉。下载LIVE555版本,我下载的是live.2010.06.15.tar.gz,进入文件config.armlinux,修改CROSS_COMPILE?=arm-linux-其他的不变。然后./genMakefile armlinux,make,拷贝live到/usr/lib目录下。当在编译Mplay时就可以检测了live555了。最后就是不同的MPlayer版本可以要修改的地方不太一样。不过大体的步骤相似