【发布时间】:2012-01-09 13:18:55
【问题描述】:
有没有人能够使用 iOS5 sdk 编译 ffmpeg 库?我找到了使用 4.3 sdk 但没有用于 iOS5 的脚本。我会假设使用旧 sdk 和 armv7 构建的库仍然与 iOS 5 兼容。
这是我尝试使用的命令:
./configure \ --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \ --as='gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \ --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk \ --extra-ldflags=-L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/system \ --target-os=darwin \ --arch=arm \ --cpu=cortex-a8 \ --extra-cflags='-arch armv7' \ --extra-ldflags='-arch armv7' \ --prefix=compiled/armv7 \ --enable-pic \ --enable-cross-compile \ --disable-armv5te \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffserver \ --disable-ffprobe \ --disable-doc
我也尝试过使用这样的脚本:
#!/bin/tcsh -f
if (! -d armv7) mkdir armv7
if (! -d lib) mkdir lib
rm armv7/*.a
make clean
./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch=arm --target-os=darwin --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7' --enable-pic
make
mv libavcodec/libavcodec.a armv7/
mv libavdevice/libavdevice.a armv7/
mv libavformat/libavformat.a armv7/
mv libavutil/libavutil.a armv7/
mv libswscale/libswscale.a armv7/
rm lib/*.a
cp armv7/*.a lib/
我也尝试切换到 gcc-4.2 以及 llvm-gcc-4.2。但是,我在 cmets 中收到如下所示的“未知选项”错误。
任何信息都会很好,谢谢。
【问题讨论】:
-
它应该编译得非常好 AFAIK。您在使用 iOS 5 工具链进行编译时是否看到任何特定错误?
-
未知选项“--cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc”。 gcc 编译器看起来就在那里。有什么建议吗?
-
没错,您需要使用
llvm-gcc或clang而不是gcc。您是否了解如何做到这一点,或者您是否正在尝试使用脚本或类似的东西来编译它? -
我尝试过使用脚本并从终端运行命令
-
究竟是什么脚本?我可以尝试为您修复它 - 我已经为 ios 编译 ffmpeg 有一段时间了,所以应该能够解决它!