[问题]quicktime4linux安装出错

Totem,mplayer,sopcast,realplayer,bmp
回复
chencmao
帖子: 43
注册时间: 2007-11-22 19:05

[问题]quicktime4linux安装出错

#1

帖子 chencmao » 2008-04-11 15:37

最近做项目用到quicktime,在MS Windows和Mac OS下都成功运行了。因为用到了quicktime for java API,所以要在linux下运行,linux也得装quicktime。
Google了一下,找到了linux下quicktime的克隆版:quicktime4linux,见:http://www.heroinewarrior.com/quicktime.php3
但是下载后安装时出现问题, 按照它的安装提示,需要依赖libmpeg3,安装提示如下:

代码: 全选

Quicktime for Linux
by
Heroine Virtual Ltd. (Motion picture solutions for Linux)    
Send harrassment to: broadcast@earthling.net
Homepage: heroinewarrior.com/quicktime
Requires libmpeg3 from heroinewarrior.com
------------------------------------------------------------------------
This is a Quicktime front end for UNIX in a library.

Building:
Quicktime for Linux requires a built copy of of libmpeg3 in a directory next to itself.
This is used for the mp3 interface.

Your directory structure should thus be:
/my_directory
/my_directory/libmpeg3-*.*.*
/my_directory/quicktime4linux-*.*.*

type "make" in the libmpeg3 directory.
type "make" in the quicktime directory.
type "make util" to get quicktime to build some utilities.

The makefiles automatically configure themselves.  The library is in
i686/libquicktime.a. You should manually set the CFLAGS environment
variable with the optimum optimization parameters for your i686
derivative.
我先make了libmpeg3-1.7,再到quicktime目录下make时出现问题:

代码: 全选

root@tony-laptop:/usr/local/quicktime4linux-2.2# make
/bin/sh: Syntax error: end of file unexpected (expecting "then")
/bin/sh: cannot create i686/c_flags: Directory nonexistent
/bin/sh: cannot create i686/lame_flags: Directory nonexistent
/bin/sh: cannot create i686/objs: Directory nonexistent
make: *** 没有规则可以创建“all”需要的目标“i686”。 停止。
在configure时,是没有问题的。
根据错误信息,应该是没有找到i686目录,但是我的目录结构是按照安装提示排布的,为:
/usr/local/libmpeg3-1.7
/usr/local/quicktime4linux-2.2
同时在make了libmpeg3-1.7后,在其目录下发现i686目录,我尝试过把quicktime4linux-2.2放到libmpeg3-1.7下,
运行make命令,出错信息如下:

代码: 全选

root@tony-laptop:/usr/local/libmpeg3-1.7/quicktime4linux-2.2# sudo make
expr: 写入时发生错误
/bin/sh: Syntax error: end of file unexpected (expecting "then")
/bin/sh: cannot create i686/c_flags: Directory nonexistent
/bin/sh: cannot create i686/lame_flags: Directory nonexistent
/bin/sh: cannot create i686/objs: Directory nonexistent
make: *** 没有规则可以创建“all”需要的目标“i686”。 停止。
希望有用过quicktime4linux,或有这方面经历的帮我下,我已经整两天了。
chencmao
帖子: 43
注册时间: 2007-11-22 19:05

#2

帖子 chencmao » 2008-04-11 21:14

难道没有人用过quicktime4linux吗?

帮忙顶顶阿,谢啦!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2008-04-11 21:55

应该没人用。因为有现成的解码器啊。
你的项目,必须要这个软件?还是只要解码器?
● 鸣学
chencmao
帖子: 43
注册时间: 2007-11-22 19:05

#4

帖子 chencmao » 2008-04-12 21:51

谢楼上回复。

并不仅仅是包括解码器,当然解码器是肯定的。实际上我是将quicktime嵌入项目中,只要它的部分功能,比如文件的预览和简单的剪辑。
我寻求的帮助是希望有人帮我试试能成功安装quicktime4linux,我现在是安装失败中。。。
chencmao
帖子: 43
注册时间: 2007-11-22 19:05

#5

帖子 chencmao » 2008-04-14 8:40

没有人吗?有对shell了解多点的帮我装下quicktime4linux,看能不能成功阿。因为好像makefile有些问题。

谢了!
chencmao
帖子: 43
注册时间: 2007-11-22 19:05

#6

帖子 chencmao » 2008-04-15 10:19

不信了呢, 再顶, 期待高人出现中.
gackcolin
帖子: 1
注册时间: 2008-05-05 9:05

#7

帖子 gackcolin » 2008-05-05 9:15

我也正在安装这个,MAKE成功了,MAKE util失败,不知怎么搞了,大家交流下.

MAKE完后提示如下 :
/bin/sh ../libtool --tag=CC --mode=link gcc -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -I../../libogg-1.1.2/include -L../../libogg-1.1.2/src/ -DUSE_MEMORY_H -o vorbisfile_example vorbisfile_example.o ../lib/libvorbisfile.la ../lib/libvorbis.la
gcc -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -I../../libogg-1.1.2/include -DUSE_MEMORY_H -o vorbisfile_example vorbisfile_example.o -L/usr/local/quicktime4linux-2.2/libogg-1.1.2/src ../lib/.libs/libvorbisfile.a /usr/local/quicktime4linux-2.2/libvorbis-1.1.1/lib/.libs/libvorbis.a ../lib/.libs/libvorbis.a /usr/local/quicktime4linux-2.2/libogg-1.1.2/src/.libs/libogg.so -lm -Wl,--rpath -Wl,/usr/local/quicktime4linux-2.2/libogg-1.1.2/src/.libs -Wl,--rpath -Wl,/usr/local/lib
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -I../../libogg-1.1.2/include -L../../libogg-1.1.2/src/ -DUSE_MEMORY_H -MT seeking_example.o -MD -MP -MF ".deps/seeking_example.Tpo" -c -o seeking_example.o seeking_example.c; \
then mv -f ".deps/seeking_example.Tpo" ".deps/seeking_example.Po"; else rm -f ".deps/seeking_example.Tpo"; exit 1; fi
/bin/sh ../libtool --tag=CC --mode=link gcc -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -I../../libogg-1.1.2/include -L../../libogg-1.1.2/src/ -DUSE_MEMORY_H -o seeking_example seeking_example.o ../lib/libvorbisfile.la ../lib/libvorbis.la
gcc -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -I../../libogg-1.1.2/include -DUSE_MEMORY_H -o seeking_example seeking_example.o -L/usr/local/quicktime4linux-2.2/libogg-1.1.2/src ../lib/.libs/libvorbisfile.a /usr/local/quicktime4linux-2.2/libvorbis-1.1.1/lib/.libs/libvorbis.a ../lib/.libs/libvorbis.a /usr/local/quicktime4linux-2.2/libogg-1.1.2/src/.libs/libogg.so -lm -Wl,--rpath -Wl,/usr/local/quicktime4linux-2.2/libogg-1.1.2/src/.libs -Wl,--rpath -Wl,/usr/local/lib
make[3]: Leaving directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1/examples'
Making all in win32
make[3]: Entering directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1/win32'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1/win32'
Making all in debian
make[3]: Entering directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1/debian'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1/debian'
Making all in vq
make[3]: Entering directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1/vq'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1/vq'
make[3]: Entering directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1'
make[3]: Leaving directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1'
make[2]: Leaving directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1'
make[1]: Leaving directory `/usr/local/quicktime4linux-2.2/libvorbis-1.1.1'
ar rcs i686/libquicktime.a `cat i686/objs`
[root@localhost quicktime4linux-2.2]#


make util提示如下 :

[root@localhost quicktime4linux-2.2]# make util
/bin/sh: -c: line 1: syntax error: unexpected end of file
gcc -o i686/qtdump i686/dump.o i686/libquicktime.a ../libmpeg3-1.7/i686/libmpeg3.a -lpng -lz -lpthread -ldl -lm
i686/libquicktime.a(util.o): In function `quicktime_read_data':
util.c:(.text+0x114f): undefined reference to `quicktime_add'
util.c:(.text+0x1575): undefined reference to `quicktime_add'
util.c:(.text+0x19f7): undefined reference to `quicktime_add'
i686/libquicktime.a(atom.o): In function `quicktime_atom_read_header':
atom.c:(.text+0x5ef): undefined reference to `quicktime_add3'
i686/libquicktime.a(yv12.o): In function `encode':
yv12.c:(.text+0x12e): undefined reference to `quicktime_add3'
i686/libquicktime.a(cmodel_float.o): In function `cmodel_float':
cmodel_float.c:(.text+0x2da0): undefined reference to `quicktime_copy'
cmodel_float.c:(.text+0x2dc7): undefined reference to `quicktime_copy'
cmodel_float.c:(.text+0x2ddd): undefined reference to `quicktime_copy'
cmodel_float.c:(.text+0x307c): undefined reference to `quicktime_copy'
cmodel_float.c:(.text+0x30a1): undefined reference to `quicktime_copy'
i686/libquicktime.a(cmodel_float.o):cmodel_float.c:(.text+0x30b7): more undefined references to `quicktime_copy' follow
collect2: ld 返回 1
make: *** [i686/qtdump] 错误 1
[root@localhost quicktime4linux-2.2]#



MAKE的过程中提示缺少文件,但总能在quicktime4linux和libmpeg3中找到,复制过去就得。
还要修改quicktime4linux-2.2/ffmpeg.052906/ffplay.c,
//注释一部分内容。
/* save the screen resolution... SDL should allow full screen
by resizing the window
{
Display *dpy;
dpy = XOpenDisplay(NULL);
if (dpy) {
fs_screen_width = DisplayWidth(dpy, DefaultScreen(dpy));
fs_screen_height = DisplayHeight(dpy, DefaultScreen(dpy));
XCloseDisplay(dpy);
}
}
*/

我用的是fedora。
回复