0

我正在尝试编译 x264 以在 iPhone 应用程序中使用。我看到这里有关于如何编译 ffmpeg 以在平台上使用的说明:http: //lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html,但我似乎找不到任何东西这完全用于在 iPhone 上编译 x264。我找到了这个源代码树:http ://gitorious.org/x264-arm ,它似乎支持 ARM 平台。

这是我的配置行:

./configure --cross-prefix=/usr/bin/ --host=arm-apple-darwin10 --extra-cflags="-B /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk /usr/lib/ -I /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/lib/"

...在里面configure我使用气体预处理器脚本(上面的第一个链接)作为我的汇编程序:

气体预处理器.pl gcc

当我开始编译时,它会分块一段时间,然后会吐出这些警告和一大堆未定义的符号:

ld:警告:选项 -s 已过时并被忽略
ld:警告:ARM 架构将不支持 -force_cpusubtype_ALL
ld:警告:在 /usr/lib/crt1.o 中,文件中缺少所需的架构臂
ld:警告:在 /usr/X11R6/lib/libX11.dylib 中,文件中缺少所需的架构臂
ld:警告:在 /usr/lib/libm.dylib 中,文件中缺少所需的架构臂
ld:警告:在 /usr/lib/libpthread.dylib 中,文件中缺少所需的架构臂
ld:警告:在 /usr/lib/libgcc_s.1.dylib 中,文件中缺少所需的架构臂
ld:警告:在 /usr/lib/libSystem.dylib 中,文件中缺少所需的架构臂
未定义的符号:

我的猜测是问题与“文件中缺少所需的架构臂”警告有关......有什么想法吗?

4

2 回答 2

1

检查此站点: http: //github.com/gabriel/ffmpeg-iphone-build 文件:build-x264-armv6

你会喜欢的!

再见,祝你好运!

于 2010-04-21T17:25:47.893 回答
1

许多开发人员在转换到 XCode 4.3 后遇到编译 FFMpeg 源代码的问题。这主要是因为与以前的版本不同,XCode4.3 是作为一个捆绑包提供的,并且最初不包含命令行工具。

我们尝试构建通用脚本;您可以在此处下载用于构建 FFMpeg 和 XCode4.3 的完整环境:https ://github.com/melnikov/ffmpeg4iphone_4.3

先决条件:

  1. 您必须在 Mac 上安装 XCode4.2 或 4.3
  2. 你必须安装 XCode 命令行工具(可以通过 XCode -> Preferences ->Downloads 安装)
  3. 你必须安装 git for mac。

说明和解释:

  1. 将构建脚本放入某个目录(例如 /tmp/ffbuild),在其上设置可执行标志(通过运行 'chmod +x ./build)
  2. 运行脚本。它将做什么:
  3. 它会将最新版本的 FFMpeg 检出到 FFmpeg 目录中(如果您已经将 FFmpeg 检出到当前目录中,则可以安全地将其注释掉)
  4. 它将尝试检测您的 Xcode.app 的位置,如果未安装 Xcode,它将退出
  5. 它会尝试在 Xcode.app 中定位 gcc,如果找不到它会退出(如果未安装 Xcode 命令工具,可能会发生这种情况)
  6. 如果上述步骤运行顺利,脚本将
  7. 创建 build_results 文件夹
  8. 随后将为 3 个不同的架构(armv6、armv7、i386)运行 FFmpeg configure 和 make,并将它们放入 build_results 文件夹内的相应目录中
  9. 将运行 lipo 并创建通用库(并将它们放在 build_results/Universal 文件夹中)。

BTW, I've tested the script on a number of my colleague's macs, and some of them tend to not return any results in mdfind for Xcode.app. So, if the script will return 'Xcode is not installed', please feel free to set XCODEPATH variable to the path to Xcode.app

于 2012-07-04T11:39:32.083 回答