【发布时间】:2011-10-23 20:27:43
【问题描述】:
我一直在尝试以我能想到的所有可能方式构建 ffmpeg。我正在尝试使用他们的 git 存储库中的最新版本和一个构建脚本,我已经确认它可以工作,它来自这个问题:iPhone SDK 4.3 libav compiling problem。该脚本昨天更新,显然适用于问题中的那个人。
我的问题是它不会为 armv6 anc armv7 生成 .a 文件(或实际上任何文件)。因此 lipo 命令连接到通用库中失败。我也尝试过使用来自iFrameExtractor 的构建脚本但没有任何成功,它最终也因 lipo-commands 而失败,我得到以下信息:
lipo: can't open input file: ./compiled/armv6/lib/libavcodec.a (No such file or directory)
lipo: can't open input file: ./compiled/armv6/lib/libavdevice.a (No such file or directory)
lipo: can't open input file: ./compiled/armv6/lib/libavfilter.a (No such file or directory)
lipo: can't open input file: ./compiled/armv6/lib/libavformat.a (No such file or directory)
lipo: can't open input file: ./compiled/armv6/lib/libavutil.a (No such file or directory)
lipo: can't open input file: ./compiled/armv6/lib/libpostproc.a (No such file or directory)
lipo: can't open input file: ./compiled/armv6/lib/libswscale.a (No such file or directory)
我还发布了整个输出here,如果有人知道在那里寻找什么(因为我不知道从哪里开始,它几乎有 5000 行输出。) 我还应该提到我正在为 armv6、armv7 和 i386 编译它。我想将它导入 XCode 以从视频源中获取 H.264 帧。
当我尝试为 armv6 构建时,我使用以下配置:
./configure \
--enable-cross-compile \
--arch=arm \
--extra-cflags='-arch armv6' \
--extra-ldflags='-arch armv6' \
--target-os=darwin \
--cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \
--sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk \
--cpu=arm1176jzf-s \
--extra-ldflags=-L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/system \
--prefix=compiled/armv6
并得到以下输出:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc is unable to create an executable file.
C compiler test failed.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solving the problem.
所以问题是,我应该使用什么 c 编译器?我尝试过不同的: arm-apple-darwin10-gcc-4.2.1 arm-apple-darwin10-llvm-gcc-4.2 海合会
但结果相同。 gcc 适用于 i386 和 armv7,所以我想它也适用于 armv6
【问题讨论】:
-
您知道,由于 FFMPEG 已获得 LGPL/GPL 许可,因此您不能将 FFMPEG 用于要提交到 App Store 的应用程序?
-
@DarkDust 是的,我知道。但无论如何我想编译它。对我还可以使用什么来实时检索 h.264 帧有什么建议吗?
标签: iphone ios ffmpeg compilation arm