mpalyer 编译错误解决办法
错误(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 编译错误解决办法相关推荐
- 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 ...
- 源代码编码问题带来的gcc编译错误解决办法
有时候避免不了从网上拷贝代码,直接编译,gcc可能报很多奇怪的错误. 下面是一个cpp文件,用UTF-8编码打开看起来正常,事实上用gedit打开也是正常的. 然而,编译会报错:error: #inc ...
- oracle重新编译视图,Oracle视图编译错误解决办法
因为新搭的环境,数据库是从另一个现成的环境导过来的,直接后台用exp和imp命令操作.但是新环境的Oracle数据库有问题,一些视图创建不了,导致用到这些视图的视图和存储过程也编译不了.后来手工重新编 ...
- PHP编译安装时常见错误解决办法,php编译常见错误
PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...
- linux libvpx编译安装,linux编译安装时常见错误解决办法
**configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution** 复 ...
- linux编译安装的报错,linux编译安装时常见错误解决办法
This article is post on https://coderwall.com/p/ggmpfa 原文链接:http://www.bkjia.com/PHPjc/1008013.html ...
- 老是说我编译版本不够_编译etcd出现的cannot load bufio的错误解决办法
编译etcd出现的cannot load bufio的错误解决办法 今天在安装编译etcd的时候,出现以下错误: go: finding github.com/golang/groupcache v0 ...
- Android编译出现com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536错误解决办法
踩过的坑, 以下操作,必须在app module中进行. ========================================== ** Android编译出现com.android.de ...
- 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?错误解决办法
VS中出现是否忘记了向源中添加"#include "stdafx.h""?的错误解决办法 经常在用VS来写项目时,会出现这一问题. 在经过相关资料的查阅之后,发 ...
最新文章
- Java 集合系列(四)—— ListIterator 源码分析
- shell实例第17讲:连续输入4个100以内的数字,统计和、乘、平均、最小和最大
- 拔掉 MacBookPro,用 8GB 树莓派4 工作一天,体验原来是这样的
- 对接FusionInsight HD 6.5.1
- 计算机组成原理算术运算实验报告,计算机组成原理算术逻辑运算实验报告
- 被美列入投资黑名单后 商汤重启公开招股发行规模定价没变
- 新AirPods渲染图曝光:采用黑白灰金四种配色
- c++ h264RTP接收和发送程序
- 【推荐实践】阿里飞猪“猜你喜欢”推荐排序实践
- jeesit 可以用俩种导出
- javascript实现中国地图
- SSD算法原理与代码(三)
- nide-js.nt
- [DP优化之平行四边形不等式]例题
- 前端——动态生成表格
- 金蝶k3单据编码规则_金蝶K3财务操作手册
- mysql cts_mysql 时区问题
- 什么是广告广告联盟?
- COUNTIF函数:
- Deep RGB-D Saliency Detection with Depth-Sensitive Attention and Automatic Multi-Modal Fusion论文笔记