簡體   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