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
    原文作者:Hensen_
    原文地址: http://blog.csdn.net/qq_30379689/article/details/78145796
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞