代码之家  ›  专栏  ›  技术社区  ›  jtrim

正在尝试为iPhone编译x264和ffmpeg-“文件中缺少必需的体系结构arm”

  •  0
  • jtrim  · 技术社区  · 16 年前

    我正在尝试编译x264,以便在iPhone应用程序中使用。我看到这里有关于如何编译ffmpeg以便在平台上使用的说明: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html 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 我使用gas预处理器脚本(上面的第一个链接)作为我的汇编程序:

    gas-preprocessor.pl gcc
    

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

    ld: warning: option -s is obsolete and being ignored
    ld: warning: -force_cpusubtype_ALL will become unsupported for ARM architectures
    ld: warning: in /usr/lib/crt1.o, missing required architecture arm in file
    ld: warning: in /usr/X11R6/lib/libX11.dylib, missing required architecture arm in file
    ld: warning: in /usr/lib/libm.dylib, missing required architecture arm in file
    ld: warning: in /usr/lib/libpthread.dylib, missing required architecture arm in file
    ld: warning: in /usr/lib/libgcc_s.1.dylib, missing required architecture arm in file
    ld: warning: in /usr/lib/libSystem.dylib, missing required architecture arm in file
    Undefined symbols:
    

    我想问题与“文件中缺少必需的体系结构臂”警告有关…有什么想法吗?

    2 回复  |  直到 16 年前
        1
  •  1
  •   zimonski    16 年前

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

    你会喜欢的!

        2
  •  1
  •   Brad Larson    14 年前

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

    https://github.com/melnikov/ffmpeg4iphone_4.3

    先决条件:

    1. 必须安装XCode命令行工具(可以通过XCode安装->首选项->下载)
    2. 你必须安装git for mac。

    说明和解释:

    1. 运行脚本。它将做什么:
    2. 它会将最新版本的FFMpeg签出到FFMpeg目录中(如果您已经将FFMpeg签出到当前目录中,则可以安全地对此进行注释)
    3. 它将尝试检测Xcode.app的位置,如果没有安装Xcode,它将退出
    4. 它将尝试在Xcode.app中定位gcc,如果找不到它,它将退出(如果没有安装Xcode命令工具,可能会发生这种情况)
    5. 如果上述步骤运行顺利,脚本将
    6. 创建生成结果文件夹
    7. 将运行lipo并创建universal libs(并将它们放入build\u results/universal)文件夹。

    顺便说一句,我已经在我同事的许多Mac上测试了这个脚本,其中一些往往不会在mdfind for Xcode.app中返回任何结果。因此,如果脚本将返回“Xcode is not installed”,请随意将XCODEPATH变量设置为Xcode.app的路径

    推荐文章