Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ndk ndk生成无法生成PocketSphinxAndroidDemo项目_Android Ndk - Fatal编程技术网

Android ndk ndk生成无法生成PocketSphinxAndroidDemo项目

Android ndk ndk生成无法生成PocketSphinxAndroidDemo项目,android-ndk,Android Ndk,我正在尝试使用“android-ndk-r5b”为android构建PocketSphinx 我从下载了PocketSphinxAndroidDemo项目“https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/PocketSphinxAndroidDemo与“pocketsphinx”和“sphinxbase”项目单独合作 我在Windows 7上,使用Cygwin运行“ndk build”。问题是生成了所有静态库(.a文件)

我正在尝试使用“android-ndk-r5b”为android构建PocketSphinx

我从下载了PocketSphinxAndroidDemo项目“https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/PocketSphinxAndroidDemo与“pocketsphinx”和“sphinxbase”项目单独合作

我在Windows 7上,使用Cygwin运行“ndk build”。问题是生成了所有静态库(.a文件),但由于以下引用错误,无法创建.so文件:

$ /cygdrive/c/android-ndk-r5b/ndk-build Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup SharedLibrary : libpocketsphinx_jni.so C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o): In function `ps_reinit': C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:228: undefi ned reference to `logmath_get_base' C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:231: undefi ned reference to `logmath_free' C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:232: undefi ned reference to `logmath_init' C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:293: undefi ned reference to `ptmr_init' C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o): In function `ps_free': C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:340: undefi ned reference to `logmath_free' C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o): In function `ps_update_lmset': C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:413: undefi ned reference to `ngram_model_free' C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o): In function `ps_add_word': C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:565: undefi ned reference to `ngram_model_add_word' $/cygdrive/c/android-ndk-r5b/ndk build Gdbserver:[arm-linux-androideabi-4.4.3]libs/armeabi/Gdbserver gdb设置:libs/armeabi/gdb.setup 共享图书馆:libpocketsphinx_jni.so C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o):在函数“ps_reinit”中: C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.C:228:undefi ned引用“logmath\u get\u base” C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.C:231:undefi ned对“logmath_free”的引用 C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.C:232:undefi 对“logmath_init”的ned引用 C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.C:293:undefi ned对“ptmr_init”的引用 C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o):在函数“ps_free”中: C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.C:340:undefi ned对“logmath_free”的引用 C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o):在函数“ps\u update\u lmset”中: C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.C:413:undefi ned参考“ngram\u免费车型” C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o):在函数“ps\u add\u word”中: C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.C:565:undefi ned参考“ngram\u模型\u添加词”
指定了所有头文件路径。创建静态库没有问题,但链接静态库以创建共享库有问题

这是我的“Android.mk”文件:

#为Android构建PocketSphinx库的本机组件。 #您必须将其更改为包含的目录的绝对路径 #sphinxbase和pocketsphinx源代码。 #SPHINX_路径:=$(主页)/项目/SPHINX/trunk 斯芬克斯路径:=/cygdrive/c/eclipse/workspace #复制这个Android.mk以及pocketsphinx_wrap.c和“edu”文件夹的内容 #由swig构建到您的Android项目的jni/目录。 基本路径:=$(调用我的目录) 包括$(清除变量) 本地_C_INCLUDES:=$(斯芬克斯路径)/sphinxbase/include/android$(斯芬克斯路径)/sphinxbase/include 本地导出包括:=$(斯芬克斯路径)/斯芬克斯数据库/include/android$(斯芬克斯路径)/斯芬克斯数据库/include 本地\u CFLAGS+=-DHAVE\u配置\u H 本地\u CFLAGS+=-DANDROID\u NDK 本地路径:=$(SPHINX路径)/sphinxbase/src/libsphinxbase/util 局部_模块:=sphinxutil 本地\u SRC\u文件:=\ 生物化学\ 比特向量\ 案例c\ ckd_alloc.c\ cmd_ln.c\ dtoa.c\ 错误c\ errno.c\ f2c_lite.c\ filename.c\ genrand.c\ glist.c\ hash_table.c\ 堆.c\ 哈夫代码.c\ 信息中心\ 李斯特伦\ logmath.c.arm\ 矩阵c\ mmio.c\ pio.c\ 概况c\ sbthread.c\ strfuncs.c\ utf8.c 包括$(构建静态库) 包括$(清除变量) 本地_C_INCLUDES:=$(斯芬克斯路径)/sphinxbase/include/android$(斯芬克斯路径)/sphinxbase/include 本地\u CFLAGS+=-DHAVE\u配置\u H 本地\u CFLAGS+=-DANDROID\u NDK 局部路径:=$(SPHINX路径)/sphinxbase/src/libsphinxbase/fe 局部_模块:=sphinxfe 本地\u ARM\u模式:=ARM 本地\u SRC\u文件:=\ fe_接口.c\ fe_sigproc.c\ f_warp_affine.c\ fe_warp.c\ fe_扭曲_反向_线性。c\ fe_扭曲_分段_线性。c\ fixlog.c 包括$(构建静态库) 包括$(清除变量) 本地_C_INCLUDES:=$(斯芬克斯路径)/sphinxbase/include/android$(斯芬克斯路径)/sphinxbase/include 本地\u CFLAGS+=-DHAVE\u配置\u H 本地\u CFLAGS+=-DANDROID\u NDK 本地路径:=$(斯芬克斯路径)/sphinxbase/src/libsphinxbase/feat 局部_模块:=sphinxfeat 本地\u SRC\u文件:=\ 自动增益控制\ cmn.c\ cmn_prior.c\ 壮举\ lda.c 包括$(构建静态库) 包括$(清除变量) 本地_C_INCLUDES:=$(斯芬克斯路径)/sphinxbase/include/android$(斯芬克斯路径)/sphinxbase/include 本地\u CFLAGS+=-DHAVE\u配置\u H 本地\u CFLAGS+=-DANDROID\u NDK 局部路径:=$(斯芬克斯路径)/sphinxbase/src/libsphinxbase/lm 局部_模块:=sphinxlm 本地\u SRC\u文件:=\ fsg_model.c\ jsgf.c\ jsgf_parser.c\ jsgf_scanner.c\ lm3g_model.c\ ngram_模型_arpa.c\ ngram_U型号\u dmp.c\ ngram_型号_套装.c\ ngram_型号c 包括$(构建静态库) 包括$(清除变量) 本地_C_INCLUDES:=$(斯芬克斯路径)/sphinxbase/include/android$(斯芬克斯路径)/sphinxbase/include\ $(斯芬克斯路径)/pocketsphinx/包含$(斯芬克斯路径)/pocketsphinx/src/libpocketsphinx\ $(SPHINX_路径)/pocketsphinx/src/gst插件$(SPHINX_路径)/sphinxbase/include/sphinxbase 本地\u CFLAGS+=-DHAVE\u配置\u H 本地\u CFLAGS+=-DANDROID\u NDK 局部路径:=$(SPHINX路径)/pocketsphinx/src/libpocketsphinx 本地_模块:=pocketsphinx 本地\u SRC\u文件:=\ acmod.c\ bin_mdef.c\ blkarray_list.c\ 迪克特·c\ dict2pid.c\ fsg_history.c\ fsg_lextree.c\ fsg_search.c\ 嗯,手臂\ mdef.c\ 高登女士\ M_mgau.c.arm女士\ 塞农·阿尔姆女士\ ngram_search.c\ ngram_search_fwdtree.c\ ngram_search_fwdflat.c\ 电话搜索\ 口袋狮身人面像\ ps_lattice.c\ ps_mllr.c\ ptm_mgau.c.臂\ s2_半_mgau.c.臂\ tmat.c\ 向量c 包括$(构建静态库) #创建动态库包装器 包括$(清除变量) 地方的 # Build the native component of the PocketSphinx library for Android. # You MUST change this to the absolute path of the directory containing # sphinxbase and pocketsphinx source code. #SPHINX_PATH := $(HOME)/Projects/Sphinx/trunk SPHINX_PATH := /cygdrive/c/eclipse/workspace # Copy this Android.mk along with pocketsphinx_wrap.c and the contents of the 'edu' folder # built by swig to the jni/ directory of your Android project. BASE_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_EXPORT_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/sphinxbase/src/libsphinxbase/util LOCAL_MODULE := sphinxutil LOCAL_SRC_FILES := \ bio.c \ bitvec.c \ case.c \ ckd_alloc.c \ cmd_ln.c \ dtoa.c \ err.c \ errno.c \ f2c_lite.c \ filename.c \ genrand.c \ glist.c \ hash_table.c \ heap.c \ huff_code.c \ info.c \ listelem_alloc.c \ logmath.c.arm \ matrix.c \ mmio.c \ pio.c \ profile.c \ sbthread.c \ strfuncs.c \ utf8.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/sphinxbase/src/libsphinxbase/fe LOCAL_MODULE := sphinxfe LOCAL_ARM_MODE := arm LOCAL_SRC_FILES := \ fe_interface.c \ fe_sigproc.c \ fe_warp_affine.c \ fe_warp.c \ fe_warp_inverse_linear.c \ fe_warp_piecewise_linear.c \ fixlog.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/sphinxbase/src/libsphinxbase/feat LOCAL_MODULE := sphinxfeat LOCAL_SRC_FILES := \ agc.c \ cmn.c \ cmn_prior.c \ feat.c \ lda.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/sphinxbase/src/libsphinxbase/lm LOCAL_MODULE := sphinxlm LOCAL_SRC_FILES := \ fsg_model.c \ jsgf.c \ jsgf_parser.c \ jsgf_scanner.c \ lm3g_model.c \ ngram_model_arpa.c \ ngram_model_dmp.c \ ngram_model_set.c \ ngram_model.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include \ $(SPHINX_PATH)/pocketsphinx/include $(SPHINX_PATH)/pocketsphinx/src/libpocketsphinx \ $(SPHINX_PATH)/pocketsphinx/src/gst-plugin $(SPHINX_PATH)/sphinxbase/include/sphinxbase LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/pocketsphinx/src/libpocketsphinx LOCAL_MODULE := pocketsphinx LOCAL_SRC_FILES := \ acmod.c \ bin_mdef.c \ blkarray_list.c \ dict.c \ dict2pid.c \ fsg_history.c \ fsg_lextree.c \ fsg_search.c \ hmm.c.arm \ mdef.c \ ms_gauden.c.arm \ ms_mgau.c.arm \ ms_senone.c.arm \ ngram_search.c \ ngram_search_fwdtree.c \ ngram_search_fwdflat.c \ phone_loop_search.c \ pocketsphinx.c \ ps_lattice.c \ ps_mllr.c \ ptm_mgau.c.arm \ s2_semi_mgau.c.arm \ tmat.c \ vector.c include $(BUILD_STATIC_LIBRARY) # Create the dynamic library wrapper include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include \ $(SPHINX_PATH)/pocketsphinx/include $(SPHINX_PATH)/pocketsphinx/src/libpocketsphinx LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(BASE_PATH) LOCAL_MODULE := pocketsphinx_jni LOCAL_SRC_FILES := pocketsphinx_wrap.c # See http://code.google.com/p/android/issues/detail?id=9439 PRIVATE_WHOLE_STATIC_LIBRARIES := \ $(call static-library-path,sphinxutil) \ $(call static-library-path,sphinxfe) \ $(call static-library-path,sphinxfeat) \ $(call static-library-path,sphinxlm) \ $(call static-library-path,pocketsphinx) LOCAL_STATIC_LIBRARIES := sphinxutil sphinxfe sphinxfeat sphinxlm pocketsphinx include $(BUILD_SHARED_LIBRARY)
LOCAL_STATIC_LIBRARIES := pocketsphinx sphinxlm sphinxfeat sphinxfe sphinxutil