NDK开发——x264、AAC在Linux下编译

x264编译

1、下载x264.zip,加入/usr/x264/目录下,进入该目录

cd /usr/x264/

2、解压x264

unzip x264-snapshot-20161111-2245.zip

3、授予权限

chmod 777 -R x264-snapshot-20161111-2245

4、进入x264目录,创建sh文件,并授权

cd x264-snapshot-20161111-2245/
touch build_android.sh
chmod 777 build_android.sh 

5、进入build_android.sh文件,编写以下代码

#!/bin/bash                                                         
export NDK_HOME=/usr/ndk/android-ndk-r10e
export SYSROOT=$NDK_HOME/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=${pwd}/android/$CPU

function build_x264
{
./configure --prefix=$PREFIX \
--enable-static \
--disable-shared \
--disable-asm \
--enable-debug \
--enable-pic \
--host=arm-linux \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$SYSROOT

make clean
make
make install
}

build_x264

6、执行sh文件,编译x264

./build_android.sh

7、下面是我们编译成功所要用到的库

  • x264.h
  • x264_config.h
  • libx264.a

AAC编译

1、下载faac.zip,加入/usr/aac/目录下,进入该目录

cd /usr/aac/

2、解压faac

tar -zxvf faac-1.28.tar.gz

3、给予权限

chmod 777 -R faac-1.28

4、进入该目录,创建sh文件,并授权

cd faac-1.28/
touch build_android
chmod 777 build_android.sh

5、编写以下代码

#!/bin/bash                                                                                                                                                                                
export NDK_HOME=/usr/ndk/android-ndk-r10e
export SYSROOT=$NDK_HOME/platforms/android-9/arch-arm
export TOOLCHAIN=$NDK_HOME/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU

CFLAGS="-fpic -DANDROID -fpic -mthumb-interwork -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -D__ARM_ARCH_7__ -Wno-psabi -march=armv7 -mtune=xscale -msoft-float     -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -MMD -MP "
CROSS_COMPILE=$TOOLCHAIN/bin/arm-linux-androideabi-
export CPPFLAGS="$CFLAGS"
export CFLAGS="$CFLAGS"
export CXXFLAGS="$CFLAGS"
export CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}"
export LDFLAGS="$LDFLAGS"
export CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}"
export NM="${CROSS_COMPILE}nm"
export STRIP="${CROSS_COMPILE}strip"
export RANLIB="${CROSS_COMPILE}ranlib"
export AR="${CROSS_COMPILE}ar"
function build_one
{
    ./configure \
        --prefix=$PREFIX \
                --without-mp4v2 \
                --host=arm-linux

make clean
make
make install
}
build_one

6、执行sh文件,编译faac

./configure --disable-yasm
./build_android.sh

7、下面是我们编译成功所要用到的库

  • include/faac.h
  • include/faaccfg.h
  • libfaac.a
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许英俊潇洒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值