问题描述
- 在ubuntu下用ndk编译ffmpeg的问题
-
在ubuntu下用ndk编译ffmpeg的时候出现了这个错误:
这个是我的sh文件:
make clean
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt
export PLATFORM=$NDK/platforms/android-8/arch-arm
export PREFIX=../ff-pure-onelib
build_one(){
./configure --target-os=linux --prefix=$PREFIX
--enable-cross-compile
--enable-runtime-cpudetect
--disable-asm
--arch=arm
--cc=$PREBUILT/linux-x86/bin/arm-linux-androideabi-gcc
--cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi-
--disable-stripping
--nm=$PREBUILT/linux-x86/bin/arm-linux-androideabi-nm
--sysroot=$PLATFORM
--enable-gpl
--enable-static
--disable-shared
--enable-nonfree
--enable-version3
--enable-small
--enable-zlib
--disable-ffprobe
--disable-ffplay
--disable-ffmpeg
--disable-ffserver
--disable-debug
--extra-cflags="-fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a"
}build_one
make
make install$PREBUILT/linux-x86/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 $PREBUILT/linux-x86/lib/gcc/arm-linux-androideabi/4.8/libgcc.a
解决方案
目录[-]
一、在ubuntu下配置android ndk环境变量
二、下载ffmpeg源码
三、配置ffmpeg环境
四、执行config.sh脚本文件
五、把Android.mk文件移到jni文件夹里
六、ndk-build开始编译
转自 http://my.oschina.net/u/994934/blog/185684??
......
答案就在这里:ubuntu+ndk编译ffmpeg
解决方案二:
其实CentOS也不错哦!