LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 775|回复: 3

编译mplayer出错,郁闷好久了

[复制链接]
发表于 2004-12-6 18:48:43 | 显示全部楼层 |阅读模式
信息如下

i386/dsputil_mmx.c: In function `h263_h_loop_filter_mmx':
i386/dsputil_mmx.c:633: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
make[1]: *** [i386/dsputil_mmx.o] 错误 1
make[1]: Leaving directory `/usr/local/src/media/mplayer-1.0-pre4/libavcodec'
make: *** [libavcodec/libavcodec.a] 错误 2

如果在./configure时把libavcodec disable掉,是能够编译成功和运行的.但是libavcodec好像是在线看流媒体的,去掉的话太亏了.不知该怎么解决?

我用的是Debian,gnome桌面,装了gnome集成的totem和win32,divx,xvid等等包之后,所有的媒体文件都通吃了.连rm和rmvb都能放,windows media9的流媒体也可以在线看.唯一不好的地方是有些字幕(好像是srt格式的,记不清了)没法用.其他的都很好.本来我不想装mplayer的了,就是因为字幕的问题才下了一个源码来编译.如果哪位告诉我让totem支持所有字幕格式的方法,我也不想装mplayer了.

PS:totem和xine的关系是不是类似于firefox和mozilla的关系?
发表于 2004-12-6 19:33:11 | 显示全部楼层
晕,怎么有这么多人跑来问软件编译的问题呀!
从字面上看是没有找到嵌入式汇编语句中需要的寄存器。你的cpu是intel的吗?如果是,去掉编译时的优化参数编译试试看。再不行,就到mplayer的网站上去看看有没有补丁。
 楼主| 发表于 2004-12-9 11:06:04 | 显示全部楼层
不好意思,忘了说了,我的cpu是athlon-xp,

gcc参数如下
CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"

CXXFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"

CHOST="i686-pc-linux-gnu"


gcc编译参数有点多,全是从一些网站上找到的,主要是想对我的cpu作充分的优化(这才是自己make的目的啊,不然的话用apt-get多方便的)

谢谢斑竹提醒,我先试试看去掉gcc参数能不能成功.
 楼主| 发表于 2004-12-9 11:37:47 | 显示全部楼层
果然,我把gcc编译参数都去掉,只留下 -O3 后,可以成功编译了.

用了一下,音频选alsa还是有问题,选oss就搞定了(我用的alsa驱动,不过加入了对oss的模拟)

播放avi文件,还是没法加载srt字幕,不过有提示"无法加载字幕",可能是编码方面的问题,但是至少说明mplayer是支持srt字幕的,我再去找找看解决方法.

另外一个很不爽的问题就是,在线看wmv9的流媒体,一顿一顿的,用totem就没问题.不知道这是怎么回事.我再试试加上部分gcc参数,慢慢试,找出来到底是那个参数导致的编译失败.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表