我正在尝试在Windows下的Android NDK中构建ffmpeg以放入应用程序但有问题。 我找到了关于如何做到这一点的各种指南,但他们都已经很多年了,不再工作了。
到目前为止我所做的是安装NDK并将最新的ffmpeg 3.1.2源代码下载到sources文件夹中。我还安装了cygwin。
然后我用代码创建了一个脚本build_android.sh(取自另一个指南):
#!/bin/bash
NDK=/cygdrive/c/Android/ndk/android-ndk-r12b
SYSROOT=$NDK/platforms/android-24/arch-arm64/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--disable-shared \
--enable-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
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
当我跑步时,我得到:
Makefile:198: /tests/Makefile: No such file or directory
make: *** No rule to make target '/tests/Makefile'. Stop.
任何人都知道如何在NDK中成功构建ffmpeg或者有任何适用于最新版本的指南?
谢谢, 奥利弗
答案 0 :(得分:1)
"测试"是ffmpeg文件夹中的子文件夹。它是构建所必需的,但看起来它缺失了。确保您已拉下整个ffmpeg源树。
你的build_android.sh看起来很好。