centos7使用ndk编译lame

7 篇文章 0 订阅
7 篇文章 0 订阅

centos7使用ndk编译lame

1. 软件版本

  1. ndk版本:android-ndk-r20b
    下载地址:https://developer.android.google.cn/ndk/downloads/older_releases#ndk-20b-downloads
  2. lame版本:3.100
    下载地址:https://sourceforge.net/projects/lame/files/lame/3.100/

2. 编译脚本

脚本位置:lame-3.100/build_android.sh

# NDK所在目录
NDK_ROOT=/root/workspace/android-ndk-r20b
TOOLCHAIN="${NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64" 

#重新赋值我们的CC和CXX,用我们Android自己的C编译器,而且会有32和64之分
#32位V7的我们用armv7a-linux-androideabi
#64位V8的我们用aarch64-linux-android
#32位的x64使用i686-linux-android
#64位的x86_64使用x86_64-linux-android
HOST=x86_64-linux-android
#至于这个21你可以自己选版本号,看你的目录下有哪些版本
V=21

export CC=$TOOLCHAIN/bin/$HOST$V-clang
export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
echo $CC
#PREFIX定义编译输出目录
#32位V7设置为armeabi-v7a
#64位V8设置为arm64-v8a
#32为x86设置为x86
#64位x86_64设置为x86_64
PREFIX=$(pwd)/android/x86_64

#最简版本 指定编译动态链接库不编译静态库
#其它参数配置可以在lame源码根目录下执行./configure -h查看默认和支持的配置
function build_config
{
	./configure \
	--enable-static \
	--enable-shared \
	--with-pic \
	--host=$HOST \
	--disable-frontend \
	--prefix=$PREFIX
}

build_config
make clean
make -j8 #8是线程数 数字越大编译速度越快,前提是你电脑支持
make install

一次编译多个平台的脚本:

# NDK所在目录
NDK_ROOT=/root/workspace/android-ndk-r20b
TOOLCHAIN="${NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64" 

#至于这个21你可以自己选版本号,看你的目录下有哪些版本
V=21

#指定编译动态链接库和静态库
#其它参数配置可以在lame源码根目录下执行./configure -h查看默认和支持的配置
function build_config
{
	./configure \
	--enable-static \
	--enable-shared \
	--with-pic \
	--host=$HOST \
	--disable-frontend \
	--prefix=$PREFIX

	make clean
	make -j8 #8是线程数 数字越大编译速度越快,前提是你电脑支持
	make install
}

#32位V7的我们用armv7a-linux-androideabi
HOST=armv7a-linux-androideabi
export CC=$TOOLCHAIN/bin/$HOST$V-clang
export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
PREFIX=$(pwd)/android/armeabi-v7a
build_config

#64位V8的我们用aarch64-linux-android
# HOST=aarch64-linux-android
# export CC=$TOOLCHAIN/bin/$HOST$V-clang
# export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
# PREFIX=$(pwd)/android/arm64-v8a
# build_config

#32位的x86使用i686-linux-android
# HOST=i686-linux-android
# export CC=$TOOLCHAIN/bin/$HOST$V-clang
# export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
# PREFIX=$(pwd)/android/x86
# build_config

#64位的x86_64使用x86_64-linux-android
# HOST=x86_64-linux-android
# export CC=$TOOLCHAIN/bin/$HOST$V-clang
# export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
# PREFIX=$(pwd)/android/x86_64
# build_config

执行脚本:

./build_android.sh

3. 编译结果

编译结果

4. 参考

  1. Unbuntu环境编译 Android平台可用ffmpeg(带三方库fdk-aac和lame)
  2. Android studio 3.5 使用cmake编译Lame3.100库so
  3. Android NDk编译第二次记录(生成so文件)

5. 项目地址

https://toscode.gitee.com/icebear221/AndroidFFmpeg

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值