【问题标题】:Error compiling x264 on Mac OS X在 Mac OS X 上编译 x264 时出错
【发布时间】:2014-03-27 05:23:08
【问题描述】:

我正在尝试编译和安装x264 H.264/AVC 编码器。 我已经安装了gcc。但是当我运行时出现“找不到工作的 C 编译器”错误:

./configure --enable-shared --enable-static

我能做什么?

配置日志说:

/bin/gcc conftest.c  -Wall -I. -I$(SRCPATH) -falign-loops=16 -mdynamic-no-pic -o conftest
clang: error: unknown argument: '-falign-loops=16' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

【问题讨论】:

  • 您是否在命令行中尝试gcc 以查看您的 gcc 是否可用,例如在您的路径中?
  • 是的,它可用。它在 /usr/bin/gcc 中。
  • config.log 说:检查 -mdynamic-no-pic... 否 2 失败的命令行是:3 ------------------ -------------------------------- 4 /usr/bin/gcc conftest.c -Qunused-arguments -Wall -I . -I$(SRCPATH) -falign-lo ops=16 -mdynamic-no-pic -o conftest 5 clang:错误:未知参数:'-falign-loops=16' [-Wunused-command-line-ar gument-hard -error-in-future] 6 clang:注意:这将是未来的硬错误(不能降级为警告)
  • 运行:/usr/bin/gcc --version;很可能是伪装的clang。我得到:Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)。我倾向于使用 GCC 4.8.2,但我是为自己构建的。
  • 是的,这就是我拥有的确切版本,Apple LLVM 版本 5.1 (clang-503.0.38)(基于 LLVM 3.4svn)。非常感谢 Jonathan Leffler,我将按照您的链接构建 GNU GCC。

标签: macos x264


【解决方案1】:

我遇到了同样的错误,在这里找到了一个简单的解决方案: http://www.xin.at/x264/x264-guide-macosx-en.htm

然而,在真正开始构建之前,我们需要从配置脚本中删除一个 GCC 编译器标志,新的 LLVM+CLANG 编译器将无法处理。为此,请在您喜欢的文本编辑器中打开文件配置并查找以下位置:

达尔文*) SYS="MACOSX" CFLAGS="$CFLAGS -falign-loops=16"

将其替换为以下内容,有效地删除 -falign-loops=16 选项:

达尔文*) SYS="MACOSX" CFLAGS="$CFLAGS"

完成上述操作后,libx264 构建得很好:)

【讨论】:

    【解决方案2】:

    configure 脚本试图设置一个编译器选项-falign-loops=16clang 编译器(伪装成gcc)拒绝接受。

    要么获取(编译)你自己的真正的 GCC 并使用它(我已经完成了 compilation and installation;它不是很难,但也不是微不足道的),或者研究如何阻止 configure 脚本失败仅仅是因为它假定所有版本的 GCC 都必须支持 -falign-loops=16 选项。这就是configure 脚本应该检查的那种事情,这样你就不会遇到那种失败。归根结底,这是此代码配置中的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多