Autotools 无法正确检测我的架构。如何处理?

Autotools 无法正确检测我的架构。如何处理?

我正在尝试从 git 存储库构建最新的 ffmpeg。但是,如下所示,自动工具无法正确检测到我的盒子有 64 位架构(Ubuntu 12.04)。因此,在构建过程中,需要一些 x86 库,但这些库不存在,并且构建失败。我该如何解决这个问题?

mvitkov@mms:~/projects/ffmpeg/build$ ../ffmpeg/configure --enable-共享
输出:
安装前缀 /usr/local
源路径 /home/users/mvitkov/projects/ffmpeg/ffmpeg
C 编译器 gcc
ARCH x86 (通用)

另一方面,自动工具通常工作得很好:

mvitkov@mms:~/projects/x264/build$ ../x264/configure --enable-static 输出:
*平台:X86_64*

答案1

那么你想构建 64 位版本的 ffmpeg 吗?您确定您的编译器默认情况下不会生成 64 位二进制文​​件吗?如果不是,通常要做的就是编辑您的CFLAGS,CXXFLAGSLDFLAGS

你可能会使用这样的东西:-

CFLAGS="-m64 -O3 -fPIC"  CXXFLAGS="$CFLAGS" LDFLAGS="-melf_x86_64 -O3" ../ffmpeg/configure --enable-static

检查“configure --help”中可用的其他选项总是值得的。 ffmpeg 有很多可选的依赖项,您可能需要启用其中一些。

针对特定架构和平台的另一种方法是使用--host,--target--build配置标志。这些是标准自动工具标志。我总是把它们搞混,但是可以找到它们的简洁解释在 Linux 论坛上

相关内容