WARNING:
我刚刚被另一位用户告知,在 iOS 上使用 FFMPEG 存在一些法律问题,请在此处留下链接http://multinc.com/2009/08/24/compatibility- Between-the-iphone-app-store-and-the-lgpl/ http://multinc.com/2009/08/24/compatibility-between-the-iphone-app-store-and-the-lgpl/
我稍微清理了一下我的问题,当我第一次写它时,我很慌张。现在,经过短暂的休息,我可以更加清楚了。
编辑:了解到您必须针对 ARMv7、ARMv7s 和 iOS6.0 进行构建
我正在尝试在 XCode 4.5.1 项目中使用 FFMPEG 库。我正在尝试为 ARMv7 构建它。我正在寻找的是确切的过程和一些解释。我知道这不是一个有据可查的问题。但我知道其他人也有和我一样的问题。
我已经能够做到的事情。
我已经能够构建用于测试的库。
1)我已经能够克隆ffmpeg。对于初学者来说,这将帮助您通过创建包含 ffmpeg 源的目录来开始。 (向写这篇文章的人致敬)
git 克隆 git://source.ffmpeg.org/ffmpeg.git ffmpeg
2)我已经能够编写一个没有任何错误的配置文件。我们稍后再回到这部分。这是我附加到 ./configure 的命令
。/配置
--禁用文档
--禁用 ffmpeg
--禁用 ffplay
--禁用 ffserver
--启用交叉编译
--拱=臂
--target-os=达尔文
--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm-gcc-4.2
--as='gas-preprocessor/gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm -gcc-4.2'
--sysroot=/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk
--cpu=皮质-a8
--extra-ldflags='-arch=armv7 -isysroot /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk'
--enable-pic --disable-bzlib --disable-gpl --disable-shared --enable-static --disable-mmx --disable-debug --disable-neon --extra-cflags='-pipe -操作系统 -gdwarf-2 -isysroot /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
-m${thumb_opt:-no-thumb} -mthumb-interwork'
这些是一些需要注意的事情。
- 我必须下载(https://github.com/yuvi/gas-preprocessor https://github.com/yuvi/gas-preprocessor)将文件gas-preprocessor.pl复制到/usr/local/bin。设置读写权限 (777)
- 确保我使用正确的 GCC 编译器:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm-gcc- 4.2
- 确保我使用正确的 SDK:/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk
- --extra-cflags="-arch armv7" 原因:错误:无法识别的命令行选项“-arch”
问题就出在这里。
我可以像这样包含库
libavcodec/avcodec.h
但是当我开始写编码器时。我收到了这个警告,以及无数的错误。
忽略文件 /Users/Jimmy/Development/source.ffmpeg/Library/libavutil.a,该文件是为存档而构建的,该存档不是正在链接的体系结构(armv7s):/Users/Jimmy/Development/source.ffmpeg/Library/libavutil。 A
这意味着我没有构建正确的二进制文件。
我正在寻找以前做过这件事的人,引导我们所有人完成为 iOS6.0 和 ARMv7 构建 FFMPEG 的过程以及需要注意的大部分事情。万分感谢。