博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac下如何编译 FFmpeg的SO库,为Android使用
阅读量:6955 次
发布时间:2019-06-27

本文共 1230 字,大约阅读时间需要 4 分钟。

花了一整天的时间,终于编译通过了。 最大的问题,就是ndk的版本和ffmpeg的版本要对应上,尝试过master,release/3.4, release/3.3, release/3.2, release/3.1,ndk-bundle, ndk-r10e各种交配,错误也是各种样式。不要去关注,stdlib.h找不到,文件not executable,macro找不到,和你没关系。

  1. ffmpeg的下载
    下载好版本切到release/3.1
  2. 修改configure文件
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'  LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'  SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'  SLIB_INSTALL_LINKS='$(SLIBNAME)'复制代码
  1. 下载ndk-r10e

  2. 在ffmpeg目录下编写编译脚本文件build_android.sh

#!/bin/bashNDK=/Users/yangjing/Library/android-ndk-r10eSYSROOT=$NDK/platforms/android-21/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64function build_one(){./configure \--prefix=$PREFIX \--enable-shared \--disable-static \--disable-doc \--disable-ffserver \--enable-cross-compile \--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \--target-os=linux \--arch=arm \--sysroot=$SYSROOT \--extra-cflags="-Os -fpic $ADDI_CFLAGS" \--extra-ldflags="$ADDI_LDFLAGS" \$ADDITIONAL_CONFIGURE_FLAG}CPU=armPREFIX=$(pwd)/android/$CPUADDI_CFLAGS="-marm"build_onemakemake install复制代码
  1. 运行./build_android.sh,
    可能需要权限chmod 777 build_android.sh
  2. so会在ffmpeg目录下生成,位于android/arm/*

转载地址:http://rzxil.baihongyu.com/

你可能感兴趣的文章
[20170705]理解linux su命令.txt
查看>>
iOS - ImageCache 网络图片缓存
查看>>
如何调整eclipse中代码字体大小
查看>>
ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)
查看>>
FQDN说明
查看>>
java基础---常用类!
查看>>
discuz论坛后台部分设置更改之后,清除了缓存网站前台不更新不生效的解决办法...
查看>>
ACM-ICPC 2018 沈阳赛区网络预赛 F Fantastic Graph(贪心或有源汇上下界网络流)
查看>>
关于js修改三种css样式的方法
查看>>
sofa
查看>>
控件绑定值“正则占位符取值”
查看>>
C#_集合与泛型集合
查看>>
Hibernate ORM框架——续第一章:Hibernate的增删改查(第一个hibernate代码的优化)...
查看>>
可扩展性设计之Cache与Search的利用
查看>>
poj2528
查看>>
FortiGate软件版本升级
查看>>
f5健康检查
查看>>
spring boot 配置文件语法
查看>>
scrapy-splash抓取动态数据例子三
查看>>
多源最短路Floyed——多源最短路(CODEVS1077)(可能Floyed模板)
查看>>