2010-09-19 102 views
1

我需要为Mac构建ffmpeg,以便在Java应用程序中将MOV转换为FLV。我制作并安装了LAME,然后安装了FFMPEG,但我很困惑我应该抓住哪些文件以包含在Java应用程序中。什么是二进制文件?我从ffmpegX的源文件中获得的以前版本的大小为10MB,但是位​​于/ usr/local/bin中的文件仅为0.1mb。这是正确的文件,还是我需要包括什么?构建二进制文件(用于ffmpeg)在哪里?

我对于任何需要键入终端的东西都不是很了解,所以请原谅缺乏技术术语!

回答

1

我不是到目前为止的Mac专家,但我有一些提示。如果使用动态链接构建库,而另一个静态链接可能会解释大小差异。

至于位置,你使用了什么? MacPorts,Fink或来源?如果你从源代码建立取决于你使用什么:) MacPorts和芬克有他们的具体位置的二进制文件(我不记得了,但文件应该有信息,否则大G有它;)

2

简短的回答:/ usr/local/bin中的文件不是真正的二进制文件,就是真正的二进制文件的软链接。如果您运行ls -l /usr/local/bin,则任何链接都将显示带有箭头的目标位置。但pszilard可能是正确的,该文件可能是实际的二进制文件,它与库代码动态链接。

龙答:如果您是从源代码编译,那么你跑了以下三个命令

./configure 
make 
make install 

第一个创建了一个名为config.mak的配置文件。在文件顶部附近,您将看到类似于以下内容的行:

prefix=/usr/local 
LIBDIR=$(DESTDIR)${prefix}/lib 
SHLIBDIR=$(DESTDIR)${prefix}/lib 
INCDIR=$(DESTDIR)${prefix}/include 
BINDIR=$(DESTDIR)${prefix}/bin 

DESTDIR是可选的;这是无关的,除非你运行make install与一个额外的参数。 BINDIR是实际的安装位置。在我的系统(雪豹)那是/usr/local/bin/

如果您仍然遇到问题,请不要安装该版本。如果您运行

make clean 
make 

该二进制文件将位于您的生成文件夹中。

请勿使用MacPorts或Fink。如果你自己编译源代码,从长远来看,你会更高兴。如果您坚持使用包管理器,请尝试使用Homebrew http://mxcl.github.com/homebrew/

+0

想知道如果你想要一堆gnu工具,也可以使用其中的一些而不是Mac版本(例如ls),你会怎么做?在这种情况下,逐个手动编译所有依赖关系将会很麻烦。自制软件是否有依赖管理? – pszilard 2010-09-22 23:13:22

+0

我不确定,我自己也没有用过自制软件。我有足够的与MacPorts不好的经验切换到手动编译,并没有足够的动机切换到更自动化的东西。 – AndrewF 2010-09-23 01:52:57

相关问题