win10编译ffmpeg
2021-04-13 20:27
标签:变量 sha libs arp dynamic ffmpeg inf ubunt android android-ndk-r14b(linux版) ffmpeg-4.0 开启win10子系统(控制面板-》程序和功能-》启用或关闭Windows功能 然后在 适用与 Linux 的 Windows 子系统前面打勾) 然后在win10应用商店 搜索ubuntu安装后 即可打开liunx控制台(以后直接在windows控制台输入bash即可进入linux控制台) 下面是执行的命令 ffmpeg的configure不需要做任何修改 android-ndk-r14b可以编译成功,但是使用android-ndk-r16却编译不通过 下面文件的地址在e:/ffmpeg/4.0/build/ffmpeg-4.0/目录下 cd到该目录下 执行chmod 777 build.sh 在执行./build.sh win10编译ffmpeg 标签:变量 sha libs arp dynamic ffmpeg inf ubunt android 原文地址:https://www.cnblogs.com/rchao/p/8973811.html#build.sh
#!/bin/sh
cd /mnt/e/ffmpeg/4.0/build/ffmpeg-4.0
#这里的这些变量根据自己本地的环境切换
export NDK=/mnt/e/ffmpeg/SDK/android-ndk-r14b
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt
export PLATFORM=$NDK/platforms/android-16/arch-arm
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=/mnt/e/ffmpeg/4.0/build/android/$CPU
build_one(){
./configure --target-os=linux --prefix=$PREFIX --enable-cross-compile --disable-asm --arch=$CPU --cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- --disable-stripping --nm=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-nm --sysroot=$PLATFORM --enable-gpl --enable-static --disable-shared --enable-small --disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-debug $ADDITIONAL_CONFIGURE_FLAG
make clean
make j8
make install
}
build_one
$TOOLCHAIN/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib -soname libffmpeg.so -shared -nostdlib -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libswresample/libswresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a libpostproc/libpostproc.a libavdevice/libavdevice.a -lc -lm -lz -ldl -llog --dynamic-linker=/system/bin/linker $TOOLCHAIN/lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a
cd ..