为 armv7、armv7s、arm64、i386 和通用构建 ffmpeg iOS 库

Posted

技术标签:

【中文标题】为 armv7、armv7s、arm64、i386 和通用构建 ffmpeg iOS 库【英文标题】:Building ffmpeg iOS libraries for armv7, armv7s, arm64, i386 and universal 【发布时间】:2014-05-12 11:02:06 【问题描述】:

我已经看到了几个为 armv7、7s 和 i386 构建 FFmpeg API 的脚本,但找不到同样适用于 armv64 的任何脚本。该论坛其他线程上的一些答案建议为 arm64 准备一个单独的库,但它不适用于其他架构。因此,我需要一个脚本,它可以适用于所有支持的 ios 架构,包括 armv7、armv7s、armv64 和 i386。

【问题讨论】:

嗨,桑迪,如果打扰到你,我很抱歉,但我也有同样的问题。我正在寻找适用于所有架构的 FFMPEG 框架(只有一个文件)。你有吗? 这绝对是最适合的! github.com/kewlbear/FFmpeg-iOS-build-script 【参考方案1】:

我使用以下脚本为 arm64 构建 FFmpeg

https://github.com/kewlbear/FFmpeg-iOS-build-script

https://github.com/bbcallen/ijkplayer/blob/fc70895c64cbbd20f32f1d81d2d48609ed13f597/ios/tools/do-compile-ffmpeg.sh#L7

您必须在您的 xCode 项目中添加 libbz2.dylib 和 libiconv.dylib 框架。

【讨论】:

如何为 ios8 和 xcode 6.0 构建?任何想法。请帮忙 你是如何在 Swift 项目中的 XCode 中链接它的?当我尝试使用 ffmpeg 中的任何函数时,出现错误,例如:架构 x86_64 的未定义符号:“avcodec_register_all()”,引用自:+[Bridge_ObjectiveC_Cpp run_test_a:] in bridge.old: symbol(s) not found对于架构 x86_64 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) 你好。我可以使用 ffmpeg 4.0 版构建该脚本

以上是关于为 armv7、armv7s、arm64、i386 和通用构建 ffmpeg iOS 库的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 中armv6 armv7 armv7s arm64 i386 x86_64 归纳 (Architectures, Valid Architectures, Build Active Arc

i386 x86_64 armv7 arm64

iOS中的armv7,armv7s,arm64,i386,x86_64

Mac OS X10.10_xcode6.1_ios8.1环境下,编译lame静态库libmp3lame.a,支持arm64 armv7s x86_64 i386 armv7指令集

适用于 iOS 的 leptonica 1.69 交叉编译(armv7、armv7s 和 arm64)

iOS 指令集