我正在尝试从 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
,CXXFLAGS
和LDFLAGS
。
你可能会使用这样的东西:-
CFLAGS="-m64 -O3 -fPIC" CXXFLAGS="$CFLAGS" LDFLAGS="-melf_x86_64 -O3" ../ffmpeg/configure --enable-static
检查“configure --help”中可用的其他选项总是值得的。 ffmpeg 有很多可选的依赖项,您可能需要启用其中一些。
针对特定架构和平台的另一种方法是使用--host
,--target
和--build
配置标志。这些是标准自动工具标志。我总是把它们搞混,但是可以找到它们的简洁解释在 Linux 论坛上。