1.编译要求
Ubuntu 14.04 lts 64位
fdk-aac-0.1.4
android-ndk-r12b
2.编译步凑
1.下载fdk-aac 源码:
https://nchc.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.4.tar.gz
下载完后解压,我的解压目录是
/home/wh/fdk-aac-0.1.4
2.在上面的源码目录创建编译脚本文件,文件名随便命名,我这里命名为config.sh,内容如下:
NDK_HOME=/home/wh/android-ndk-r12b
ANDROID_API=android-9
SYSROOT=$NDK_HOME/platforms/$ANDROID_API/arch-arm
ANDROID_BIN=$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/
CROSS_COMPILE=${ANDROID_BIN}/arm-linux-androideabi-
ARM_INC=$SYSROOT/usr/include
ARM_LIB=$SYSROOT/usr/lib
LDFLAGS=" -nostdlib -Bdynamic -Wl,--whole-archive -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,nocopyreloc -Wl,-soname,/system/lib/libz.so -Wl,-rpath-link=$ARM_LIB,-dynamic-linker=/system/bin/linker -L$NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi -L$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86/arm-linux-androideabi/lib -L$ARM_LIB -lc -lgcc -lm -ldl "
FLAGS="--host=arm-androideabi-linux --enable-static --disable-shared"
export CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}"
export LDFLAGS="$LDFLAGS"
export CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}"
./configure $FLAGS \
--prefix='/home/wh/fdk-aac-0.1.4'
其中ndk 的下载地址为: https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip
下载后解压就行,路径随便,我这里存放的路径是
/home/wh/android-ndk-r12b
注意:上面的脚本里面的NDK 路径要改为你存放的ndk 路径,--prefix 要改为你的路径。
3.源码编译:
进入源码目录执行如下命令:
root@ubuntu:/home/wh/fdk-aac-0.1.4# ./config.sh
执行完后再执行
root@ubuntu:/home/wh/fdk-aac-0.1.4# make
上面的命令执行后就开始编译源码了编译完后,再执行如下命令:
root@ubuntu:/home/wh/fdk-aac-0.1.4# make install
如果提示权限不够则执行如下命令:
sudo su
获取root 权限,再执行make install 命令这样就会在fdk-aac 源码目录下生成库文件,如下所示:
其中include 存放生成的头文件,lib 存放的生成的库文件。