Зачем использовать NDK для компиляции FFmpeg без файлов.so, только файлов.a
Почему я использую NDK для компиляции FFmpeg без .so
только файлы .a
файлы? Используемая версия FFmpeg - 4.0. Ниже приведен мой скрипт компиляции.
#!/bin/bash
NDK=/var/local/android-ndk-r14b
SYSROOT=$NDK/platforms/android-16/arch-arm
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
INSTALL_DIR=/root/share/out/armv7-a/ffmpeg
function build_android
{
./configure \
--prefix=$INSTALL_DIR \
--enable-hwaccel=h264_vaapi \
--enable-hwaccel=h264_vaapi \
--enable-hwaccel=h264_dxva2 \
--enable-hwaccel=mpeg4_vaapi \
--enable-hwaccels \
--enable-shared \ #Enable dynamic library version
--disable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make -j4
make install
}
CPU=arm
ADDI_CFLAGS="-marm"
build_android
Следующие две конфигурации не работают.
--enable-shared \
--disable-static \