Sphinx使用的Autotool(但是版本很旧),所以使用NDK编译需要配置环境:

#! /bin/bashLD_LIBRARY_PATH+=" /home/gqw/workspace/sphinx/sphinxbase/lib/ ":export LD_LIBRARY_PATHexport ANDROID_HOME=/home/gqw/workspace/androidexport NDK_HOME=$ANDROID_HOME/ndkexport NDK_TC_HOME=$NDK_HOME/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86export NDK_TC_BIN_DIR=$NDK_TC_HOME/binexport NDK_TC_BIN_PREFIX=arm-linux-androideabiexport CC=" $NDK_TC_BIN_DIR/$NDK_TC_BIN_PREFIX-gcc -nostdlib  "export CXX=" $NDK_TC_BIN_DIR/$NDK_TC_BIN_PREFIX-g++  "export LD=$NDK_TC_BIN_DIR/$NDK_TC_BIN_PREFIX-ldexport AR=$NDK_TC_BIN_DIR/$NDK_TC_BIN_PREFIX-arexport STRIP=$NDK_TC_BIN_DIR/$NDK_TC_BIN_PREFIX-strip# STLNDK_STL_HEADER_FLAG+=" -I$NDK_HOME/sources/cxx-stl/gnu-libstdc++/include "NDK_STL_HEADER_FLAG+=" -I$NDK_HOME/sources/cxx-stl/gnu-libstdc++/include "NDK_STL_HEADER_FLAG+=" -I$NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi/include "export NDK_STL_HEADER_FLAGNDK_HEADER_FLAG+=$NDK_STL_HEADER_FLAGNDK_HEADER_FLAG+=" -I$NDK_HOME/platforms/android-9/arch-arm/usr/include "NDK_HEADER_FLAG+=" -Ijni "export NDK_HEADER_FLAGNDK_LIB_FLAG+=" -L$NDK_HOME/platforms/android-9/arch-arm/usr/lib "export NDK_LIB_FLAGCPPFLAGS+=$NDK_HEADER_FLAG#CPPFLAGS+=" -funwind-tables -fstack-protector " //can't appare two# CPPFLAGS+="  -frtti " //only for c++CPPFLAGS+=" -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -DANDROID -DNDEBUG "CPPFLAGS+=" -O0 -g3 -fexceptions -MMD -MP -MF "CPPFLAGS+=" -Wno-psabi -march=armv5te -mtune=xscale -msoft-float"CPPFLAGS+=" -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 "CPPFLAGS+=" -Wa,--noexecstack  -fpic -ffunction-sections  "export CPPFLAGSLDFLAGS+=$NDK_LIB_FLAG# LDFLAGS+=" -nostdlib " //need for gcc ,not g++LDFLAGS+=" --sysroot=$NDK_HOME/platforms/android-9/arch-arm  "LDFLAGS+=" -Wl,--gc-sections -Wl,-z,nocopyreloc -Wl,-dynamic-linker,/system/bin/linker "LDFLAGS+=" -Wl,--no-undefined -Wl,-z,noexecstack -lc -lm -lstdc++ -lOpenSLES "export LDFLAGS#LIBS+=" $NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi/libsupc++.a "LIBS+=" $NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/libgnustl_static.a "LIBS+=" $NDK_TC_HOME/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a "export LIBS../configure --host=arm-linux --prefix=$(pwd)/../../sphinxbase



如果作修改,或在修改中不使用STL则执行完脚本直接make就可以了。

如果想在修改中使用STL则需做额外的工作:

将使用STL的文件后缀名由.c改为.cpp(注意修改 相应Makefile.am中的信息), 根目录执行autoreconf -i,根据提示修改configure.in文件。

再次执行即可。

更多相关文章

  1. avd 配置
  2. Android(安卓)微信SDK分享功能(一)
  3. 来电防火墙——学习记录
  4. 项目中平时遇到的小知识点集锦
  5. XML解析
  6. 【Android】实现非root的 Traceroute -- 非Root权限下移植可执行
  7. Android可执行文件
  8. 我的第一个python脚本
  9. 反编译Android部署程序

随机推荐

  1. 【Android(安卓)Api 翻译4】android api
  2. Activity启动过程分析
  3. Android数据库操作查询中Cursor类的问题
  4. android UI线程安全问题
  5. android linux 最全的基础知识总结
  6. Android(安卓)EditText默认不弹出输入法
  7. Android(安卓)build system 分析之 envse
  8. 利用第三方jar包jaudiotagger实现与Media
  9. Android反编译工具绿色版V2.1(改进版)
  10. Android(安卓)Studio 3.1.1新版本 修改 c