ubuntu14 编译ffmpeg动态库

1 、安装unbuntu14环境

2 、安装ndk

          LINUX环境下的ndk(http://blog.csdn.net/gyh198/article/details/75036686),  如果下载的ndk文件时xxx.bin格式,终端直接进入该文件所在的目录。

   chmod +x  ./xxx.bin    

   ./xxx.bin  

           执行完毕后就可以生成可正常使用的ndk环境

3、下载ffmpeg源码

        去ffmpeg官网下载源码,解压至ndk所在的目录

        以上三步操作的结果如下图:

4、编译

       进入ffmpeg-3.0.10目录

      (1) 修改configure文件

       替换以下内容:

       SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'

       LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'

      SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'

      SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'

       修改为

       SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'

       LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'

       SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'

       SLIB_INSTALL_LINKS='$(SLIBNAME)'
      (2)构建脚本(build_android.sh)
   #!/bin/bash 
     NDK=/home/wcf/Downloads/android-ndk-r10e
     SYSROOT=$NDK/platforms/android-21/arch-arm/
     TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86
     TOOLCPU=arm-linux-androideabi
     CPU=arm
     PREFIX=$(pwd)/android/$CPU 
     ADDI_CFLAGS="-marm"
     ADDI_LDFLAGS="-lm -lz -Wl,-soname=libffmpeg.so,-z,noexecstack"
     function build_one
     {
      ./configure --target-os=linux --prefix=$PREFIX\
       --enable-cross-compile\
       --enable-runtime-cpudetect\
       --disable-asm\
       --arch=$CPU\
       --cc=$TOOLCHAIN/bin/$TOOLCPU-gcc\
       --cross-prefix=$TOOLCHAIN/bin/$TOOLCPU-\
       --enable-stripping\
       --nm=$TOOLCHAIN/bin/$TOOLCPU-nm\
       --sysroot=$SYSROOT\
       --enable-gpl --enable-shared --disable-static  --enable-small\
       --enable-zlib --disable-ffprobe --disable-ffplay --disable-ffmpeg\
       --disable-ffserver\
       --extra-cflags="-I$SYSROOT/usr/include"\
       --extra-ldflags="$ADDI_LDFLAGS"\
      $ADDITIONAL_CONFIGURE_FLAG
     } 
    build_one

     (3)终端执行构建
chmmod +x build_android.sh

make 

make install

注意:32位的linux无法编译64位的so文件,ubuntu和ndk位数必须一致
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值