今天用了一天的时间将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. You're AllSet! 以多重集函数角度重新检视超图GNN
  2. 正则表达式,VI,SED及shell编程2010-12-05
  3. Kerberos策略的配置
  4. C++实现线段树(lazy-tag方法)-区间修改,区间查询
  5. java 线程什么时候出栈_在Java中给出的时间
  6. php cdi_DI / CDI –基础
  7. argb可以和rgb同步吗_神光同步酷炫幻彩,安钛克光棱120 RGB风扇套装
  8. java验证只能输入数字和字母_java:为什么我做的验证只能验证数字和字母不重复,不能验证汉字不重复...
  9. OPPO Reno7/Reno7 Pro今天开售:首发IMX709超感光猫眼镜头
  10. c# 计算圆锥的体积_急求用c#计算圆柱体和圆锥体的体积的代码,下面是要求:
  11. 【leetcode刷题笔记】Restore IP Addresses
  12. elasticsearch(七)java 搜索功能Search Request的介绍与使用
  13. 《软件工程》— 实用软件工程——习题答案
  14. 网页版bpc电波对时_BPC电波对时app
  15. 矩阵分解 三角分解(LU分解)
  16. PHP的时间增加10分钟和加一天的时间
  17. NXP TJA1043 datasheet 知识点记录
  18. 大数据面试题汇总【有自己的和网上总结的】
  19. Dagger2利器系列二:懒/重加载+Component 的组织关系
  20. 二进制与八进制、十进制、十六进制之间的转换

热门文章

  1. Bs4使用过程中常见的问题
  2. 汉明码(Hamming Code)原理及实现
  3. Python爬取今日头条指定用户发表的所有文章,视频,微头条
  4. pickle.dumps()和pickle.loads()
  5. 开发者的云计算盛会,期待您的参与(11月20日~21日,北京,免费)
  6. 基于深度学习方法的头盔佩戴检测研究与系统实现
  7. 企业商务差旅信息化管理与移动App
  8. 华为交换机重制_华为交换机密码重置该怎么弄?
  9. UI测试常见BUG汇总——适用于新手
  10. 服务器接口反应慢,TTFB等待时间过长解决办法