1. 程式人生 > >win10編譯ffmpeg

win10編譯ffmpeg

std fine ole () sys ipp 分享 ndk undefined

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

#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 ..

  

win10編譯ffmpeg