今天用了一天的时间将mplayer移植到arm开发板上,移植过程中遇到各种问题,在此做以记录。

mplayer版本:1.0rc2

Ubuntu版本:12.04 64位

移植过程:

1、su获取root权限;

2、解压mplayer;

3、在解压的目录中mkdir output,作为安装目录;

3、./configure配置。具体如下:

./configure --enable-cross-compile \--host-cc=gcc \--cc=/root/external-toolchain/bin/arm-linux-gnueabi-gcc \--as=/root/external-toolchain/bin/arm-linux-gnueabi-as \--ar=/root/external-toolchain/bin/arm-linux-gnueabi-ar \--ranlib=/root/external-toolchain/bin/arm-linux-gnueabi-ranlib \--target=arm-linux \--prefix=/root/mplayer/MPlayer-1.0rc2/output \--enable-alsa \--enable-static \--disable-win32dll \--disable-dvdread \--enable-fbdev \--disable-mencoder \--disable-live \--disable-ivtv \--language=zh_CH

4、修改config.mak文件。在这个文件中的OPTFLAGS选项中加入“-Wa,-mimplicit-it=thumb”

5、make

6、修改config.mak文件:把这个文件中的“INSTALLSTRIP = -s”  改成“INSTALLSTRIP =”

7、make install

移植过程中遇到的问题:

1、make时提示:

../libavutil/bswap.h: Assembler messages:
../libavutil/bswap.h:77: Error: no such instruction: `eor %eax,%esi,%esi,ror'
../libavutil/bswap.h:78: Error: no such instruction: `bic %eax,%eax,'
../libavutil/bswap.h:79: Error: number of operands mismatch for `mov'
../libavutil/bswap.h:80: Error: no such instruction: `eor %esi,%esi,%eax,lsr'
make[1]: *** [vd_sgi.o] Error 1

这个问题是由于编译前没有配置好交叉编译工具链引起的。由于编译前没有配置交叉编译工具链,出现了这个错误。解决办法就是配置好交叉编译工具链。

2、make时提示:

{standard input}: Assembler messages:
{standard input}:61: Error: thumb conditional instruction should be in IT block -- `addgt r2,sl,#0'
{standard input}:62: Error: thumb conditional instruction should be in IT block -- `rsblt r2,sl,#0'
{standard input}:63: Error: thumb conditional instruction should be in IT block -- `smlatbne r2,r4,fp,r2'
{standard input}:65: Error: thumb conditional instruction should be in IT block -- `addgt r0,sl,#0'
{standard input}:66: Error: thumb conditional instruction should be in IT block -- `rsblt r0,sl,#0'
{standard input}:67: Error: thumb conditional instruction should be in IT block -- `smlatbne r0,r5,fp,r0'
{standard input}:69: Error: thumb conditional instruction should be in IT block -- `addgt r3,sl,#0'
{standard input}:70: Error: thumb conditional instruction should be in IT block -- `rsblt r3,sl,#0'
{standard input}:71: Error: thumb conditional instruction should be in IT block -- `smlabbne r4,r4,fp,r3'
{standard input}:73: Error: thumb conditional instruction should be in IT block -- `addgt r3,sl,#0'
{standard input}:74: Error: thumb conditional instruction should be in IT block -- `rsblt r3,sl,#0'
{standard input}:75: Error: thumb conditional instruction should be in IT block -- `smlabbne r5,r5,fp,r3'
{standard input}:81: Error: thumb conditional instruction should be in IT block -- `addgt r2,sl,#0'
{standard input}:82: Error: thumb conditional instruction should be in IT block -- `rsblt r2,sl,#0'
{standard input}:83: Error: thumb conditional instruction should be in IT block -- `smlatbne r2,r6,fp,r2'
{standard input}:85: Error: thumb conditional instruction should be in IT block -- `addgt r0,sl,#0'
{standard input}:86: Error: thumb conditional instruction should be in IT block -- `rsblt r0,sl,#0'
{standard input}:87: Error: thumb conditional instruction should be in IT block -- `smlatbne r0,r7,fp,r0'
{standard input}:89: Error: thumb conditional instruction should be in IT block -- `addgt r3,sl,#0'
{standard input}:90: Error: thumb conditional instruction should be in IT block -- `rsblt r3,sl,#0'
{standard input}:91: Error: thumb conditional instruction should be in IT block -- `smlabbne r6,r6,fp,r3'
{standard input}:93: Error: thumb conditional instruction should be in IT block -- `addgt r3,sl,#0'
{standard input}:94: Error: thumb conditional instruction should be in IT block -- `rsblt r3,sl,#0'
{standard input}:95: Error: thumb conditional instruction should be in IT block -- `smlabbne r7,r7,fp,r3'

这个问题的解决方法是,在make之前修改config.mak文件,在这个文件中的OPTFLAGS中添加“-Wa,-mimplicit-it=thumb”即可。

3、make install时会提示错误:

install -m 755 -s mplayer /root/mplayer/MPlayer-1.0rc2/output/bin
strip: Unable to recognise the format of the input file `/root/mplayer/MPlayer-1.0rc2/output/bin/mplayer'
install: strip process terminated abnormally
make: *** [install-mplayer] Error 1

这个是因为在make install时会调用strip来剔除一些无用的文件,但是此时strip是主机的,而不是目标机的,就出现错误。解决方法是修改config.mak文件,将文件中的“INSTALLSTRIP = -s”  改成“INSTALLSTRIP =”。

MPlayer移植到arm开发板相关推荐

  1. Openssl移植到ARM开发板

    Openssl移植到ARM开发板 openssl源码下载 源码编译配置 使用生成的库文件 openssl源码下载 openssl源码可以在官网下载:https://www.openssl.org/so ...

  2. apache arm 交叉编译_Apache 2移植到Arm开发板的过程整理——如何交叉编译Apache 2

    话说要在arm开发板的linux系统中运行apache服务器,需要在pc linux系统中交叉编译Apache源码,在网上参考了很多资料都是1.3版本的,最后终于找到apache 2移植到arm开发板 ...

  3. RV1109开发板ssh服务器移植到arm开发板

    RV1109开发板ssh服务器移植到arm开发板 ssh功能移植到RV1109开发板的,由于RV1109的SDK中,没有telnet功能,有时候adb功能在量产中需要关闭,避免造成设备留有漏洞,造成安 ...

  4. I.MX6ULL开发板基于阿里云项目实战 3 :阿里云iot-SDK 移植到arm开发板

    上一篇博客讲的是创建产品和设备,本讲,我们将阿里云iot-SDK 移植到arm开发板. 参考资料: https://code.aliyun.com/edward.yangx/public-docs/w ...

  5. python交叉编译_交叉编译Python3.6.2,使用海思arm-hisiv200-linux-gcc,移植到arm开发板上...

    最近在学习Python,感觉使用Python可以快速的写出程序,比之前使用的C语言快多了,能省出很多时间.多学一点知识有更多的选择.本职工作是嵌入式开发,学习了Python后想移植到开发板上,尝试嵌入 ...

  6. ekho 6.3 文字转换语言移植到arm开发板

    ekho 文字转语言库交叉编译 1.下载 ekho 源码 ,libsndfile库源码 http://www.eguidedog.net/cn/ekho_cn.php #ekho-6.3.tar.xz ...

  7. appweb移植到arm开发板

    在官方上下载Appweb源 https://embedthis.com/appweb/download.html我选择的是4.3.5 下载完成后执行tar -zxvf appweb-4.3.5解压 解 ...

  8. busybox移植到ARM开发板

    0. 概述 这里是简单介绍什么是busybox,busybox的移植步骤,以及其中遇到的一些问题,然后介绍了其中一些文件夹的作用.移植完成后再将交叉编译工具链中的动态链接库拷贝到构建好的根文件系统当中 ...

  9. ubuntu下的qt程序移植至ARM开发板

    一.第一步新建一个helloworld  QT工程. 二.使用qmake工具生成Makefile文件 在工程源码文件夹运行qmake   "#/opt/qt-4.7.1/bin/qmake& ...

最新文章

  1. TYVJ1415 差分约束
  2. jquery遍历json的几种方法
  3. 快速理解编码,unicode与utf-8
  4. html5语义化标记元素_语义HTML5元素介绍
  5. 是时候详细探究webview了
  6. 安装centos linux7,安装centos7
  7. MySQL 实例空间使用率过高的原因和解决方法
  8. late_time_init
  9. mysql分表的原则_分库分表原则 总结
  10. 高分辨率扫描出来的图片有摩尔纹_文档扫描仪选购指南:扫描仪哪个牌子比较好?...
  11. ubuntu20.04安装谷歌输入法命令
  12. 怎么把解压的文件在HTML打开,解决电脑rar压缩包文件怎么打开?教你正确打开方式...
  13. C语言和Bash脚本实现身份证号码尾号验证
  14. 和我一起写lua - 确认操作系统
  15. 什么是云服务器?如何选择?
  16. BIT-MiniCC——parser(lab5语法分析器)
  17. 《工程电磁场》学习笔记2-恒定电场
  18. MySQL日期格式化函数DATE_FORMAT(‘2020-09-14 14:08:16‘,‘%y%m%d %H%I%S‘)
  19. U盘插入电脑提示格式化
  20. Win11 KB5019157(22000.1281)11月累积补丁推送了!

热门文章

  1. 如何正确理解外链与反链(黄梦岚)
  2. 网站转换率如何提高?知道这四点足矣!
  3. 基于SSM+Shiro+Druid+MongoDB+MySQL的开源博客系统
  4. Vlan 技术 (完整)
  5. 反序列化漏洞原理/防御
  6. 【转载】(嘉立创建议 )Altium Designer生成Gerber文件的设置
  7. 用c语言证明确界原理,如何用确界原理证明区间套定理
  8. SiO2@FITC复合纳米微球/AIE荧光分子杂化介孔二氧化硅杂化纳米微球/荧光Ag纳米簇-SiO2纳米微球的性能分析
  9. 2021-05-27keil中.h文件的建立
  10. c++从入门到精通——虚函数与纯虚函数