我需要为Mac构建ffmpeg,以便在Java应用程序中将MOV转换为FLV。我制作并安装了LAME,然后安装了FFMPEG,但是我很困惑我应该抓住哪些文件包含在Java应用程序中。什么是二进制文件?我从ffmpegX源获取的先前版本大小为10mb,但是我/ usr / local / bin中的文件只有0.1mb。这是正确的文件,还是我需要包含什么?
我不太懂任何需要输入终端的东西,所以请原谅缺乏技术术语!
答案 0 :(得分:3)
简短回答:/ 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/。
答案 1 :(得分:1)
到目前为止,我不是Mac专家,但我有一些提示。如果使用动态链接构建lib,另一个是静态链接,可以解释大小差异。
至于位置,您使用了什么? MacPorts,Fink还是来源?如果你从源代码构建依赖于你使用的东西:) MacPorts和Fink有他们特定的二进制位置(我不记得了,但文档应该有信息,否则大G有它;)