LinuxSir.cn,穿越时空的Linuxsir!

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

mplayer编译出现错误……(FC6)

[复制链接]
发表于 2007-3-28 14:43:48 | 显示全部楼层 |阅读模式
我的configure是这样的:
./configure --enable-gui --enable-largefiles --enable-menu --enable-freetype --enable-live --with-codecsdir=/usr/lib/codecs/ --with-win32libdir=/usr/lib/wincodecs/ --with-livelibdir=/usr/lib/live --language=zh_CN --cc=gcc32

编译安装mplayer时出现如下错误提示:
各位大大教我该怎么办啊?

In file included from demux_rtp.cpp:12:
demux_rtp_internal.h:17:24: error: liveMedia.hh: No such file or directory
demux_rtp.cpp:14:36: error: BasicUsageEnvironment.hh: No such file or directory
demux_rtp.cpp:16:30: error: GroupsockHelper.hh: No such file or directory
demux_rtp_internal.h:22: error: 'MediaSubsession' has not been declared
demux_rtp_internal.h:24: error: 'MediaSubsession' has not been declared
demux_rtp_internal.h:33: error: 'Boolean' does not name a type
demux_rtp_internal.h:40: error: 'Boolean' does not name a type
demux_rtp.cpp:22: error: expected `)' before '*' token
demux_rtp.cpp:26: error: ISO C++ forbids declaration of 'FramedSource' with no type
demux_rtp.cpp:26: error: expected ';' before '*' token
demux_rtp.cpp:27: error: expected `;' before 'RTPSource'
demux_rtp.cpp:27: error: ISO C++ forbids declaration of 'RTPSource' with no type
demux_rtp.cpp:27: error: expected ';' before '*' token
demux_rtp.cpp:28: error: expected `;' before 'demuxer_t'
demux_rtp.cpp:34: error: 'Boolean' does not name a type
demux_rtp.cpp:51: error: ISO C++ forbids declaration of 'FramedSource' with no type
demux_rtp.cpp:51: error: expected ';' before '*' token
demux_rtp.cpp:52: error: ISO C++ forbids declaration of 'RTPSource' with no type
demux_rtp.cpp:52: error: expected ';' before '*' token
demux_rtp.cpp:61: error: ISO C++ forbids declaration of 'RTSPClient' with no type
demux_rtp.cpp:61: error: expected ';' before '*' token
demux_rtp.cpp:62: error: ISO C++ forbids declaration of 'SIPClient' with no type
demux_rtp.cpp:62: error: expected ';' before '*' token
demux_rtp.cpp:63: error: ISO C++ forbids declaration of 'MediaSession' with no type
demux_rtp.cpp:63: error: expected ';' before '*' token
demux_rtp.cpp:72: error: 'RTSPClient' was not declared in this scope
demux_rtp.cpp:72: error: 'client' was not declared in this scope
demux_rtp.cpp:72: error: expected primary-expression before 'char'
demux_rtp.cpp:72: error: initializer expression list treated as compound expression
demux_rtp.cpp:72: error: expected ',' or ';' before '{' token
make[1]: *** [demux_rtp.o] Error 1
make[1]: Leaving directory `/home/cros/mplayer/MPlayer-1.0rc1/libmpdemux'
make: *** [libmpdemux/libmpdemux.a] 错误 2
发表于 2007-3-28 23:44:52 | 显示全部楼层
其实一些配置选项是不用写的,如--enable-freetype就不用,它会自动检测,如果你的系统支持freetype(fc6支持),那么它就会自动加上,相反,如果系统不支持freetype,加上--enable-freetype也不行,还会出错。
请问你用了什么解码器的包?
我编译时只用了那个all*打头的解码器包,这个包中就包括所有的解码器了。所以如果你用--with-codecsdir=...指向了all*打头的那个解码器包的话,那么--with-win32libdir=... 就是多余的了。
从你的出错信息来看,是没有安装live。要么安装live,要么去掉--enable-live ,--with-livelibdir=/usr/lib/live 。建议去掉live,live至今我也没用到过。
回复 支持 反对

使用道具 举报

发表于 2007-3-29 10:28:42 | 显示全部楼层
我安装的时候也用的是你的那些参数,不过对于
--with-codecsdir=/usr/lib/codecs/
--with-win32libdir=/usr/lib/wincodecs/
这两项来说,我装完后以根本就找不到这两个目录,也根本没有下载安装你们说的什么解码器包
直接就可以用了
能告诉我这是什么原因吗?对了,我安装的是MPlayer-1.0rc1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-29 15:48:20 | 显示全部楼层
Post by jqq850226
其实一些配置选项是不用写的,如--enable-freetype就不用,它会自动检测,如果你的系统支持freetype(fc6支持),那么它就会自动加上,相反,如果系统不支持freetype,加上--enable-freetype也不行,还会出错。
请问你用了什么解码器的包?
我编译时只用了那个all*打头的解码器包,这个包中就包括所有的解码器了。所以如果你用--with-codecsdir=...指向了all*打头的那个解码器包的话,那么--with-win32libdir=... 就是多余的了。
从你的出错信息来看,是没有安装live。要么安装live,要么去掉--enable-live ,--with-livelibdir=/usr/lib/live 。建议去掉live,live至今我也没用到过。


我用的是MPLAYER官方下的ess开头的那个解码包。上次安装MPLAYER好不容易可以播放RMVB(但不能拖动)这次换了TOTEM却不可以放RMVB,用的是同一个解码包。LIB下即有WINCODECS目录,也有WIN32目录,CODECS目录也有。还是不行。不知道为什么
回复 支持 反对

使用道具 举报

发表于 2007-3-29 22:53:52 | 显示全部楼层
TOTEM没用过。你说LIB下有WINCODECS,WIN32,CODECS,可是你在./configure时指定了吗?你看看./configure --help中的帮助是怎么说的:如果你没指定,它会用默认的,好像是/usr/local/lib/codecs吧。还有,解码器包放在哪里是无所谓的,例如你如果放在/codecs(根目录下的一个文件夹)下,你只要在./configure时指定 --with-codecsdir=/codecs就可以了。

以下是我./configure后输出的信息:
...............
Config files successfully generated by ./configure !

  Install prefix: /usr/local
  Data directory: /usr/local/share/mplayer
  Config direct.: /usr/local/etc/mplayer

  Byte order: little-endian
  Optimizing for: prescott mmx mmxext sse sse2 mtrr

  Languages:
    Messages/GUI: en
    Manual pages:  en

  Enabled optional drivers:
    Input: ftp network pvr tv-v4l2 tv-v4l tv mpdvdkit2 vcd dvb smb
    Codecs: qtx libavcodec real xanim win32 faad2 libmpeg2 liba52 mp3lib tremor(internal) gif
    Audio output: alsa esd arts oss sdl mpegpes(dvb)
    Video output: xvidix cvidix md5sum sdl gif89a pnm jpeg png mpegpes(dvb) opengl dga xv x11 xover tga
.................

看到 Codecs: qtx libavcodec real xanim win32 faad2 libmpeg2 liba52 mp3lib tremor(internal) gif 那行了吗,证明已经找到解码器包了。
回复 支持 反对

使用道具 举报

发表于 2007-3-30 12:32:55 | 显示全部楼层
不知道楼主为什么还要用gcc32编译呢 直接用gcc4编译就好了阿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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