ubuntu下编译适合ndk的faac

http://blog.chinaunix.net/uid-20104447-id-3823071.html
http://gdgzzch.blog.163.com/blog/static/3764045220140265615775/

首先申明,本文章源自于上面两篇文章,先谢过他们,如下编译脚本为本人亲测,可用。

下面带来编译步骤:

1:下载faac并解压,这个可在faac官网去下,笔者下的是1.28版本

2:在faac目录里新建一个build_android.sh脚本文件,内容如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
NDK=/usr/software/android-ndk-r9c
PLATFORM=$NDK/platforms/android-9/arch-arm
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt
PREFIX=/home/leege/ffmpeglib

    CFLAGS="-fpic -DANDROID -fpic -mthumb-interwork -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -                        Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -MMD -MP "
    CROSS_COMPILE=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-
    export CPPFLAGS="$CFLAGS"
    export CFLAGS="$CFLAGS"
    export CXXFLAGS="$CFLAGS"
    export CXX="${CROSS_COMPILE}g++ --sysroot=${PLATFORM}"
    export LDFLAGS="$LDFLAGS"
    export CC="${CROSS_COMPILE}gcc --sysroot=${PLATFORM}"
    export NM="${CROSS_COMPILE}nm"
    export STRIP="${CROSS_COMPILE}strip"
    export RANLIB="${CROSS_COMPILE}ranlib"
    export AR="${CROSS_COMPILE}ar"

./configure --program-prefix=$PREFIX 
--without-mp4v2 
--host=arm-linux

make
cp ./libfaac/.libs/*.a $PREFIX/lib
cp ./libfaac/.libs/*.so $PREFIX/lib
cp ./include/*.h $PREFIX/include

(最前面几行代码为一些路径配置,读者可以根据自己的路径来配置。最后几行是将生成的库拷贝到prefix目录(prefix是第四行代码定义的目录),比如我编译生成的头文件和库的就在/home/leege/ffmpeglib下)

3:进入faac解压后的目录,修改build_android.sh 和configure文件权限(执行chmod a+x build_android.sh和 chmod a+x configure,或者执行chmod 777 build_android.sh和chmod 777 configure)

4:在faac文件夹下执行./build_android.sh,等待编译完成

5:如果不报错,就代表你已经完成了,祝你成功。

声明:eoe文章著作权属于作者,受法律保护,转载时请务必以超链接形式附带如下信息

原文作者: wanglee1027

原文地址: http://my.eoe.cn/791113/archive/24462.html

你可能感兴趣的:(ubuntu下编译适合ndk的faac)