Die neueste Version von FFmpeg
ist 3.1.1
. Nach Version 3.1
kann ich FFmpeg
für x86
nicht kompilieren. (Aber 3.0.2
oder früheren Versionen erstellt werden kann.)Kompilieren FFmpeg 3.1.1 für X 86 mit Android NDK
Das Terminal zeigt ld: error: libavutil/../compat/strtod.o: incompatible target
.
Mein OS ist Xubuntu 14.04 x86
und x86_64
. (Ich beide versucht haben.)
Meine NDK
Version ist r10e(x86)
und r12b(x86_64)
.
Wenn ich FFmpeg 3.0.2
kompiliere, hat es keinen Fehler.
Das ist mein configure:
./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}
ist ein Verzeichnispfad für --install-dir
Option verwendet, während make-standalone-toolchain.sh
ausgeführt wird, die ein Werkzeug in Android NDK ist.
Es passiert nur, während ich kompiliere FFmpeg
für x86
. ARM
Architektur ist in Ordnung.
Sie haben mein Problem gelöst. Danke ~ – user3032481
@Dave Du hast mein Leben gerettet, wahrscheinlich 6 Stunden davon. –
Ich habe das in meinem Skript "rm compat/strtod.o rm compat/strtod.d" gemacht und jetzt muss ich mich nicht um das Problem kümmern, war nervig und um ehrlich zu sein war nicht einfach herauszufinden, danke – Diljeet