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:如果不報錯,就代表你已經完成了,祝你成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章