繁体   English   中英

使用Android NDK为x86编译FFmpeg 3.1.1

[英]Compiling FFmpeg 3.1.1 for x86 using Android NDK

FFmpeg的最新版本是3.1.1 3.1版之后,我无法为x86编译FFmpeg 。(但是可以编译3.0.2或更早版本。)

终端显示ld: error: libavutil/../compat/strtod.o: incompatible target

我的操作系统是Xubuntu 14.04 x86x86_64 。(我已经尝试了它们。)

我的NDK版本是r10e(x86)r12b(x86_64)

当我编译FFmpeg 3.0.2 ,它没有错误。

这是我的配置:

./configure \
--prefix="${PREFIX}" \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--cross-prefix="${PREFIX}/bin/i686-linux-android-" \
--target-os=linux \
--arch=x86 \
--enable-cross-compile \
--sysroot="${PREFIX}/sysroot" \
--extra-cflags="" \
--extra-ldflags="" \
--extra-libs="" \
--disable-debug

${PREFIX}是运行make-standalone-toolchain.sh用于--install-dir选项的目录路径,这是Android NDK中的一个工具。

它只在我为x86编译FFmpeg时发生。 ARM架构还可以。

我遇到了同样的问题并找到了解决方法。 如果您之前为另一个体系结构构建,请务必删除“compat / strtod.o”和“compat / strtod.d”。 出于某些原因,如果您在3.1.1中更改了体系结构,则不会重建这些内容,但它在以前的版本中运行良好。 你应该在建造之前做一个“干净”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM