错误(1)
./codec-cfg ./etc/codecs.conf > codecs.conf.h
./codec-cfg: 1: Syntax error: word unexpected (expecting ")")
解决方法:在configure时添加 --host-cc=gcc就可以解决

错误(2)
make[1]: *** [armv4l/dsputil_arm_s.o] Error 1
make[1]: Leaving directory `/root/MPlayer-1.0rc2/libavcodec'
make: *** [libavcodec/libavcodec.a] 错误 2
错误原因是pld指令只在armv5te以上版本有效,在2440(armv4l)无效
预读取PLD指令
功能:cache预读取(PLD,PreLoad),使用PLD指示存储系统从后面几条指令所指定的存储器地址读取,存储系统可使用这种方法加速以后的存储器访问。
解决方法:修改MPlayer-1.0rc2/libmpeg2/motion_comp_arm_s.S和MPlayer-1.0rc2 /libavcodec/armv4l/dsputil_arm_s.S这两个报错文件,在前面添加上:
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
然后再make

mplayer编译过程中出现ivtv错误

+-------------------------------------
vo_ivtv.c: In function 'ivtv_reset':
vo_ivtv.c:79: error: storage size of 'sd' isn't known
vo_ivtv.c:80: error: storage size of 'sd1' isn't known
vo_ivtv.c:84: error: 'IVTV_STOP_FL_HIDE_FRAME' undeclared (first use in this function)
vo_ivtv.c:84: error: (Each undeclared identifier is reported .ly .ce
vo_ivtv.c:84: error: for each function it appears in.)
vo_ivtv.c:87: error: 'IVTV_IOC_STOP_DECODE' undeclared (first use in this function)
vo_ivtv.c:97: error: 'IVTV_IOC_START_DECODE' undeclared (first use in this function)
vo_ivtv.c:80: warning: unused variable 'sd1'
vo_ivtv.c:79: warning: unused variable 'sd'
make[1]: *** [vo_ivtv.o] Error 1
make[1]: Leaving directory `/data1/wdy-tools/smplayer/MPlayer-1.0rc2/libvo'
make: *** [libvo/libvo.a] Error 2
+-------------------------------------

解决方法,在 安装 MPlayer时: ./configure --disable-ivtv

随便找了找,用了configure 参数如下:
./configure --codecsdir=/usr/lib/codecs --enable-gui --enable-menu --prefix=/opt --mandir=/usr/share/man --win32codecsdir=/usr/lib/win32 --enable-largefiles --disable-tv --enable-freetype --disable-inet6 --enable-gl --enable-xv --enable-x11 --disable-ivtv

然后冒出一个错误,The GUI requires libavcodec with PNG support (needs zlib).
找了N久,网上都说需要“sudo apt-get install libavcodec-dev”就可以了,libavcodec-dev会将zlib装好的,我用了,不行。然后又去找zlib在ubuntu下到底是个 什么名字,就是这个"zlib1g-dev",我已经装好的。libpng12-dev也装好了。

最好只好找configure.log,其实我都翻了几遍了,可是从文件最后根本看不出什么端倪,不过这次我搜索了configure.log中的 zlib,然后发现这么一句“/usr/bin/ld: cannot find -lXv”,然后真相大白,是libXv.so没有,于是“sudo apt-get install libxv-dev",configure通过。

1. The GUI requires libavcodec with PNG support (needs zlib).
solution:
sudo apt-get install zlib1g-dev
sudo apt-get install libxv-dev

2. vo_ivtv.c: In function 'ivtv_reset':
vo_ivtv.c:79: error: storage size of 'sd' isn't known
vo_ivtv.c:80: error: storage size of 'sd1' isn't known
vo_ivtv.c:84: error: 'IVTV_STOP_FL_HIDE_FRAME' undeclared (first use in this
function)

solution:
because i don't want ivtv used on my pc, so i use --disable-ivtv to reconfigure it.

3. undefined reference to `video_out_ivtv'
collect2: ld returned 1 exit status

solution:
in file libvo/video_out.c, where
#ifdef HAVE_DXR2
extern vo_functions_t video_out_dxr2;
#endif
extern vo_functions_t video_out_dxr3; // ошибка сделана тут
#ifdef HAVE_IVTV
extern vo_functions_t video_out_ivtv;
#endif

edit it like this:
#ifdef HAVE_DXR2
extern vo_functions_t video_out_dxr2;
#endif
#ifdef HAVE_DXR3
extern vo_functions_t video_out_dxr3; / / Added patch HAVE_DXR3 because that is not compiling mplayer
#endif
#ifdef HAVE_IVTV
extern vo_functions_t video_out_ivtv;
#endif

mplayer破坏.  
 修改源码:
    libavcodec/bitstream.h:181行 
     加入如下语句.
 -------------------------------------------------  
#if defined(ARCH_ARMV4L)
typedef  int32_t intptr_t ; /* Add by Andrew Huang*/
#endif
--------------------------------------------------- 
   否则将会有如下编译错误
   编译错误:
   arm-linux-gcc -I../libswscale -I../libavcodec  -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -I. -I.. -I../libavutil -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4   -pipe -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DHAVE_CONFIG_H -I/usr/X11R6/include   -c -o cyuv.o cyuv.c
    cc1: warning: include location "/usr/X11R6/include" is unsafe for cross-compilation
In file included from mpegvideo.h:32,
                 from cyuv.c:38:
bitstream.h: In function ''put_bits'':
bitstream.h:233: error: ''intptr_t'' undeclared (first use in this function)
bitstream.h:233: error: (Each undeclared identifier is reported only once
bitstream.h:233: error: for each function it appears in.)
bitstream.h:233: error: expected '')'' before ''s''
bitstream.h: In function ''init_get_bits'':
bitstream.h:777: error: ''intptr_t'' undeclared (first use in this function)
bitstream.h:777: error: expected '')'' before ''buffer''
bitstream.h:778: error: expected '')'' before ''buffer''
make[1]: *** [cyuv.o] Error 1

1.修改源码 libavcodec/armv4l/dsputil_arm_s.S, motion_comp_arm_s.S
在其开始的加入
-------------------------
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
-------------------------
否则会造成如下编译错误,
arm-linux-gcc -I../libswscale -I../libavcodec  -DHAVE_AV_CONFIG_H -D_FILE_OFFSET                                              _BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdisable                                              d-optimization -Wno-pointer-sign -Wdeclaration-after-statement -I. -I.. -I../lib                                              avutil -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4   -pipe -ffast-ma                                              th -fomit-frame-pointer -D_REENTRANT -DHAVE_CONFIG_H -I/home/workspace/MPlayer/M                                              Player-1.0rc2/../output/linux_arm/include -I/usr/X11R6/include  -c -o armv4l/dsp                                              util_arm_s.o armv4l/dsputil_arm_s.S
cc1: warning: include location "/usr/X11R6/include" is unsafe for cross-compilat                                              ion
armv4l/dsputil_arm_s.S: Assembler messages:
armv4l/dsputil_arm_s.S:79: Error: selected processor does not support `pld [r1]''
armv4l/dsputil_arm_s.S:90: Error: selected processor does not support `pld [r1]''
armv4l/dsputil_arm_s.S:100: Error: selected processor does not support `pld [r1]                                              ''
armv4l/dsputil_arm_s.S:111: Error: selected processor does not support `pld [r1]                                              ''
armv4l/dsputil_arm_s.S:122: Error: selected processor does not support `pld [r1]                                              ''
armv4l/dsputil_arm_s.S:141: Error: selected processor does not support `pld [r1]

错误原因是pld指令只在armv5te以上版本有效,在2440(armv4l)无效

预读取PLD指令
功能:cache预读取(PLD,PreLoad),使用PLD指示存储系统从后面几条指令所指定的存储器地址读取,存储系统可使用这种方法加速以后的存储器访问。

格式:
PLD[Rn,{offset}]
其中:
Rn         存储器的基址寄存器。
Offset     加在Rn上的偏移量。含义同3。2。3节第1条指令

mpalyer 编译错误解决办法相关推荐

  1. Arduino编译错误解决办法:fork/exec:…\arm-none-eabi-g++.exe: The filename or extension is too long

    编译错误解决办法:fork/exec:-\arm-none-eabi-g++.exe: The filename or extension is too long 解决方案来自Edge Impulse ...

  2. 源代码编码问题带来的gcc编译错误解决办法

    有时候避免不了从网上拷贝代码,直接编译,gcc可能报很多奇怪的错误. 下面是一个cpp文件,用UTF-8编码打开看起来正常,事实上用gedit打开也是正常的. 然而,编译会报错:error: #inc ...

  3. oracle重新编译视图,Oracle视图编译错误解决办法

    因为新搭的环境,数据库是从另一个现成的环境导过来的,直接后台用exp和imp命令操作.但是新环境的Oracle数据库有问题,一些视图创建不了,导致用到这些视图的视图和存储过程也编译不了.后来手工重新编 ...

  4. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  5. linux libvpx编译安装,linux编译安装时常见错误解决办法

    **configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution** 复 ...

  6. linux编译安装的报错,linux编译安装时常见错误解决办法

    This article is post on https://coderwall.com/p/ggmpfa 原文链接:http://www.bkjia.com/PHPjc/1008013.html ...

  7. 老是说我编译版本不够_编译etcd出现的cannot load bufio的错误解决办法

    编译etcd出现的cannot load bufio的错误解决办法 今天在安装编译etcd的时候,出现以下错误: go: finding github.com/golang/groupcache v0 ...

  8. Android编译出现com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536错误解决办法

    踩过的坑, 以下操作,必须在app module中进行. ========================================== ** Android编译出现com.android.de ...

  9. 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?错误解决办法

    VS中出现是否忘记了向源中添加"#include "stdafx.h""?的错误解决办法 经常在用VS来写项目时,会出现这一问题. 在经过相关资料的查阅之后,发 ...

最新文章

  1. Java 集合系列(四)—— ListIterator 源码分析
  2. shell实例第17讲:连续输入4个100以内的数字,统计和、乘、平均、最小和最大
  3. 拔掉 MacBookPro,用 8GB 树莓派4 工作一天,体验原来是这样的
  4. 对接FusionInsight HD 6.5.1
  5. 计算机组成原理算术运算实验报告,计算机组成原理算术逻辑运算实验报告
  6. 被美列入投资黑名单后 商汤重启公开招股发行规模定价没变
  7. 新AirPods渲染图曝光:采用黑白灰金四种配色
  8. c++ h264RTP接收和发送程序
  9. 【推荐实践】阿里飞猪“猜你喜欢”推荐排序实践
  10. jeesit 可以用俩种导出
  11. javascript实现中国地图
  12. SSD算法原理与代码(三)
  13. nide-js.nt
  14. [DP优化之平行四边形不等式]例题
  15. 前端——动态生成表格
  16. 金蝶k3单据编码规则_金蝶K3财务操作手册
  17. mysql cts_mysql 时区问题
  18. 什么是广告广告联盟?
  19. COUNTIF函数:
  20. Deep RGB-D Saliency Detection with Depth-Sensitive Attention and Automatic Multi-Modal Fusion论文笔记

热门文章

  1. 想象力比知识更重要么?提出问题比解决问题更重要?
  2. 微信小程序 解决时间只显示年月日的问题(手机端显示NAN-NAN-NAN)
  3. Dubbo学习-注册中心
  4. 「GRUB」- 在BIOS系统上的GRUB引导 @20210221
  5. 公司使用电脑监控软件会怎么样?
  6. 把大象装冰箱,要几个步骤?
  7. 校园招聘-找工作的经验
  8. Linux下 FastDFS服务搭建 记录安装与配置过程
  9. js ie8火狐谷歌兼容性问题,不需要判断是哪个浏览器,只需要判断支不支持这个属性
  10. html设置背景图片高度自适应屏幕,CSS设置背景图宽度100%,高度自适应