一、基本信息

1、移植环境

①:ubuntu16.04

②:iMX6Q开发板

2、移植所需软件源码

①:libmad libmad 下载

②:mplayer mplayer下载

③:百度网盘下载:

链接:https://pan.baidu.com/s/1KM3VNY4RWhBKFsN4me8shg

提取码:rds1

二、移植Libmad

①:版本选择:libmad-0.15.1b.tar.gz

②:libmad准备工作

进入下载目录 解压 libmad-0.15.1b.tar.gz

tar xvf libmad-0.15.1b.tar.gz

解压之后进入libmad-0.15.1b

cd libmad-0.15.1b

③:配置libmad

./configure --host=arm-linux-gnueabihf --disable-debugging --enable-static --enable-shared --enable-speed --prefix=/home/avdisplay/mplayer

④:编译libmad

make

出现下面的报错

(sed -e '1s|.*|/*|' -e '1b' -e '$s|.*| */|' -e '$b' \

-e 's/^.*/ *&/' ./COPYRIGHT; echo; \

echo "# ifdef __cplusplus"; \

echo 'extern "C" {'; \

echo "# endif"; echo; \

if [ ".-DFPM_ARM" != "." ]; then \

echo ".-DFPM_ARM" | sed -e 's|^\.-D|# define |'; echo; \

fi; \

sed -ne 's/^# *define *\(HAVE_.*_ASM\).*/# define \1/p' \

config.h; echo; \

sed -ne 's/^# *define *OPT_\(SPEED\|ACCURACY\).*/# define OPT_\1/p' \

config.h; echo; \

sed -ne 's/^# *define *\(SIZEOF_.*\)/# define \1/p' \

config.h; echo; \

for header in version.h fixed.h bit.h timer.h stream.h frame.h synth.h decoder.h; do \

echo; \

sed -n -f ./mad.h.sed ./$header; \

done; echo; \

echo "# ifdef __cplusplus"; \

echo '}'; \

echo "# endif") >mad.h

make all-recursive

make[1]: Entering directory '/home/avdisplay/software/libmad-0.15.1b'

make[2]: Entering directory '/home/avdisplay/software/libmad-0.15.1b'

if /bin/bash ./libtool --mode=compile arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_ARM -DASO_INTERLEAVE1 -DASO_IMDCT -Wall -O -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -fstrength-reduce -fomit-frame-pointer -MT version.lo -MD -MP -MF ".deps/version.Tpo" -c -o version.lo version.c; \

then mv -f ".deps/version.Tpo" ".deps/version.Plo"; else rm -f ".deps/version.Tpo"; exit 1; fi

mkdir .libs

arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_ARM -DASO_INTERLEAVE1 -DASO_IMDCT -Wall -O -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -fstrength-reduce -fomit-frame-pointer -MT version.lo -MD -MP -MF .deps/version.Tpo -c version.c -fPIC -DPIC -o .libs/version.o

arm-linux-gnueabihf-gcc: error: unrecognized command line option '-fforce-mem'

Makefile:383: recipe for target 'version.lo' failed

make[2]: *** [version.lo] Error 1

make[2]: Leaving directory '/home/avdisplay/software/libmad-0.15.1b'

Makefile:424: recipe for target 'all-recursive' failed

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory '/home/avdisplay/software/libmad-0.15.1b'

Makefile:249: recipe for target 'all' failed

make: *** [all] Error 2

arm交叉编译不支持 -fforce-mem 这个选项

解决方法:修改编译选项

vim Makefile

在129 行 删除 -fforce-mem 这个选项

修改前

CFLAGS = -Wall -O -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -fstrength-reduce -fomit-frame-pointer

修改后

CFLAGS = -Wall -O -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -fstrength-reduce -fomit-frame-pointer

再次执行make编译

这次没有报错了,编译成功。

⑤:安装libmad

make install

成功安装ibmad

三、移植Mplayer

①:版本选择:MPlayer-1.4.tar.xz

②:mplayer准备工作

进入下载目录 解压 MPlayer-1.4.tar.xz

tar xvf MPlayer-1.4.tar.xz

解压之后进入MPlayer-1.4

cd MPlayer-1.4

③:配置mplayer

./configure --prefix=/home/avdisplay/mplayer --cc=arm-linux-gnueabihf-gcc --disable-gui --target=arm-linux --host-cc=gcc --disable-freetype --enable-fbdev --disable-mencoder --disable-sdl --disable-live --disable-dvdread --disable-libdvdcss-internal --disable-x11 --enable-cross-compile --disable-dvdnav --disable-dvdread-internal --disable-jpeg --disable-tga --disable-pnm --disable-tv --disable-ivtv --disable-fontconfig --disable-xanim --disable-win32dll --disable-armv5te --disable-armv6 --enable-static

④:编译mplayer

make

⑤:mplayer可执行文件

这时候我们把这个编译得到的 mplayer可执行文件 拷贝到开发板就可以用了

./mplayer xxx.mp3

mplayer linux arm,【嵌入式】交叉编译移植 Mplayer 到 ARM开发板相关推荐

  1. mysql移植海思_live555 交叉编译移植到海思开发板

    1.首先到它的主页下载一个源码包: http://www.live555.com/liveMedia/public/ 我下载的是latest的,具体什么版本还真不清楚 2.放到linux目录下解压: ...

  2. mplayer移植-迅为IMX6Q开发板

    0 1 mplayer简介        mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布.它资源占用率低,无论是音频还是视频方面,支持的格式相当全面,支持的输出设备也很多,可以在各种 ...

  3. at91sam9260ek开发板linux移植文档,AT91SAM9260EK开发板 Linux 移植 移植 文档

    AT91SAM9260EK开发板 Linux 移植 移植 文档 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 Li ...

  4. linux内核移植与开发板,Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解

    Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解 [复制链接] 今天终于让Linux内核在飞凌的板子上跑起来了,想来也是艰辛,为了移植成功,断断续续做了将近两个月的努力,期间郁闷不可 ...

  5. imx6q 开发板_mplayer移植-迅为IMX6Q开发板

    0 1 mplayer简介 mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布.它资源占用率低,无论是音频还是视频方面,支持的格式相当全面,支持的输出设备也很多,可以在各种主流操作系统中 ...

  6. [长文干货]MicroPython移植到野火STM32F429开发板

    最近通过参考网上的文章,成功将MicroPython移植到野火STM32F429开发板上,给大家分享一下自己的移植过程,可以作为STM32系列移植MicroPY的参考. 1.移植前准备工作 实验环境: ...

  7. 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上

    在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...

  8. QNX----QNX内核移植到ZYNQ7010 (黑金开发板)

    QNX----QNX内核移植到ZYNQ7010 (黑金开发板) 在ZYNQ 平台移植QNX6.6 ,下载BSP_xilinx-zynq-7000-zc702_br-660_be-660_SVN8485 ...

  9. 移植根文件系统到linux内核 s3c2440,u-boot-2011.06在基于s3c2440开发板的移植之引导内核与加载根文件系统...

    三.根文件系统的制作 我们利用busybox来制作根文件系统 1.在下列网站下载busybox-1.15.0.tar.bz2 在当前目录下解压busybox tar -jxvf busybox-1.1 ...

最新文章

  1. 解吧源码解析重点看withWeight
  2. Flutter开发者必备手册 Flutter Go
  3. python字符串查找数字_Python Regex - 在字符串中用逗号查找数字
  4. python 分离整数与小数_Python编程:离不开算术运算符的顺序结构
  5. gps频率范围_一种应用于低电压GPS接收机的高线性度低噪声放大器
  6. 一段平平无奇的秋招经历
  7. 【Windows】bat | 服务 | bat作为服务 | bat转exe
  8. R| 混合效应模型,lme4
  9. 涉及第三方支付接口,怎么测?
  10. tp交换机管理页面_tplink交换机设置步骤使用方法
  11. 课设-基于51单片机+超声波模块的避障小车(源码+原理图+Protel仿真)
  12. 计算机考证证件照没有露耳朵
  13. gitweb 搭建教程
  14. android状态栏右上角增加图标的方法
  15. 2021.09.27-10.3 AI行业周刊(第65期):坚持的力量
  16. uniapp实现下拉搜索选择框,app,h5可用
  17. 如何计算文件的MD5值
  18. 什么是暂时性死区(TDZ)?
  19. 8.20 最小新整数 哆啦A梦的时光机(bfs)
  20. QWidget事件消息

热门文章

  1. 百度网盘、小米云盘算什么,这个开源免费的云盘它不香吗?
  2. 备抵附加账户的期末余额_备抵附加账户的期末余额不是固定的,当其余额在借方时...
  3. vue + vtkJs + itkJs进行dcom影像预览
  4. 牛奶可乐经济学之Q11:为什么地产经纪人常带客户看两栋差不多完全一样的房子,可其中一栋比另一栋既便宜、环境又好?
  5. 給藍軍朋友的敗選感言
  6. 人脸检测颜值源代码python_50行Python代码识别杨超越的颜值
  7. C#自定义背景透明TextBox
  8. 老版本Typora安装
  9. iTunes Connect突然登录不了的原因
  10. 如何判断两张图片是否类似