2016-07-01 7 views
3

FFmpegの最新バージョンは3.1.1です。バージョン3.1後、私は。x86ためFFmpegをコンパイルすることはできません(ただし、3.0.2またはそれ以前のバージョンをコンパイルすることができます。)Android NDKを使用してx86用FFmpeg 3.1.1をコンパイルする

端子がld: error: libavutil/../compat/strtod.o: incompatible targetを示しています。

私のOSはXubuntu 14.04 x86x86_64です。(私はそれらの両方を試してみました。)

NDKバージョンはr10e(x86)r12b(x86_64)です。

FFmpeg 3.0.2をコンパイルすると、エラーは発生しません。

これは私の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}は、Android NDKでのツールであるmake-standalone-toolchain.shを実行している間--install-dirオプション用に使用されるディレクトリのパスです。

FFmpegx86にコンパイルしている間だけ発生します。 ARMアーキテクチャは問題ありません。

答えて

9

同じ問題が発生し、回避策が見つかりました。以前に別のアーキテクチャ用にビルドしていた場合は、 "compat/strtod.o"と "compat/strtod.d"を必ず削除してください。なんらかの理由で、3.1.1のアーキテクチャを変更してもこれらは再構築されませんが、以前のバージョンでは正常に機能しました。また、ビルドする前に「クリーン」にする必要があります。

+0

あなたは私の問題を解決しました。ありがとう〜 – user3032481

+2

@Daveあなたはおそらく6時間、私の人生を救った。 –

+0

私はスクリプト "rm compat/strtod.o rm compat/strtod.d"でこれを行いました。問題は心配する必要はなく、迷惑で正直ではありませんでした。ありがとう – Diljeet

関連する問題