2010-11-27 14 views
2

初学者尝试在Mac上使用PowerMac G4,Mac OS X 10.4.11,Xcode 2.5编译ffmpeg(非iOS)。在Tiger上编译ffmpeg并使用gas-preprocessor?

我从Stephen Jungels教程开始(link),尽管它本身不包括Mac OS X 10.4。我安装LAME,FAAC/FAAD和x264没有错误。一切顺利,直到我用的./configure的ffmpeg的:

./configure --enable-shared --enable-libmp3lame --enable-libfaac --enable-libx264 --enable-gpl --enable-nonfree 

一些捣鼓,我得到“创建config.mak和config.h中...”和一个错误“警告后:GNU汇编程序没有找到,安装气体预处理”。所以我在网上寻找它(https://github.com/yuvi/gas-preprocessor),按照指示将“gas-preprocessor.pl”移动到/ usr/local/bin。显然它没有做任何事情,因为重复的配置给出了相同的错误。在ffmpeg目录中有gas-preprocessor.pl似乎也没有帮助。

我错过了一些我应该用gas-preprocessor.pl做的事吗?

回答

0

这是可能的,你需要用“--arch”包括标志建筑来编译,如添加下列选项,在配置声明:

“--arch =竞价排名”

注意目标在配置文件中的建筑列表中的Git仓库:

http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=configure;h=a882501c676c6bef9fae53140e6c053a4c7c3c99;hb=HEAD

Line 
935 ARCH_LIST=' 
936  alpha 
937  arm 
938  avr32 
939  avr32_ap 
940  avr32_uc 
941  bfin 
942  ia64 
943  m68k 
944  mips 
945  mips64 
946  parisc 
947  ppc 
948  ppc64 
949  s390 
950  sh4 
951  sparc 
952  sparc64 
953  tomi 
954  x86 
955  x86_32 
956  x86_64' 

此外,您可能已经这样做了,BU通过在命令行中键入“configure --help”来仔细阅读配置文件的选项。它确实需要一系列的试验和错误才能使它起作用。

而不是“--enable-shared”,试试:“--disable-shared --enable-static”...我相信这不会尝试编译已编译的其他库,这可能是一个好东西,如果没有必要尝试重新编译它们(这可能会导致错误)。

此外,另一件事是“禁用所有汇编优化”,这可能与“参数语法错误”有关......我谷歌搜索这个错误,为PowerPC构建其他东西:gcc.gnu.org/ml/gcc/2006-08/msg00591.html

而且,有一种方法可以在configure命令中设置GCC选项...使用“--extra- cflags =“后面跟GCC的选项:gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html我不确定这些选项有多少有效,但你可以试试”--extra-cflags = -fno-common“,我相信它会影响编译过程中变量的处理方式,方法是将它们保存在每个目标的单独块中,而不是将它们集中在一个大块中。对此我不太了解,但它似乎能为我解决一些错误。

+0

嗨Chris,感谢您的评论。不幸的是,将--arch = ppc添加到配置列表中并没有改变任何内容。通过阅读配置帮助文本,我发现可能--cc =(compiler)和--as =(assembler)对于改变我的尝试结果可能是有意义的。 cc应该默认为'gcc',这似乎是正确的?我想知道是否以及如何在./configure行中加入gas-preprocessor? – Tom 2010-12-02 21:35:06

+0

将gas-preprocessor.pl的副本放入/ opt/local/bin之后,错误“警告:找不到GNU汇编器,安装gas-preprocessor”。好吧,我试着改变了很多东西,我认为*这种改变让它发生了。 – Tom 2010-12-10 17:21:00

4

嗯,我有同样的问题“GNU汇编程序没有找到,安装天然气预处理”

后来事实证明,我没有了正确的文件,因为我复制粘贴在文本编辑器的代码

的做正确的做法是:

(一)在使用下载按钮https://github.com/yuvi/gas-preprocessor

(二)提取存档文件

(c)删除您下载并试用的同名文件。

(d)复制位于/ usr/local/bin目录的文件gas-preprocessor.pl

(E)的文件设置权限由所有(777)读写如果 - > d没有按” t工作

我在编译ffmpeg时读取config.log时发现了这个问题