尝试使用NDK为Android构建PocketSphinx的问题

我正在尝试使用PocketSphinxAndroidDemo项目为Android创建PocketSphinx。 我放弃了使用Cygwin和Windows构建它的任务,并安装了一个Ubuntu VM。 我正在取得进展,但我似乎被卡住了,我似乎无法弄清楚。 它必须是简单的,我错过了。 ndk-build提供了以下输出(剪切):

Compile thumb  : pocketsphinx_jni <= pocketsphinx_wrap.c
/home/user/development/PocketSphinxAndroidDemo/jni/pocketsphinx_wrap.c:760:26: error: pocketsphinx.h: No such file or directory
/home/user/development/PocketSphinxAndroidDemo/jni/pocketsphinx_wrap.c:761:28: error: sphinxbase/err.h: No such file or directory

头文件(显然)不在与JNI文件相同的文件夹中。 LOCAL_C_INCLUDES标志已在Android.mk文件中设置,以包含所需的标题 -

include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android 
            $(SPHINX_PATH)/sphinxbase/include/sphinxbase 
            $(SPHINX_PATH)/sphinxbase/include 
            $(SPHINX_PATH)/pocketsphinx/include

我应该注意到我的SPHINX_PATH变量看起来像这样,而且是正确的 -

SPHINX_PATH := ~/development

如果我将头文件复制到/ jni /文件夹中,我会得到更远的位置,但是编译器开始大喊我头部文件在其他位置丢失。 当然,我错过了一些简单的事情。 是不是在那里我可以设置一个“在爆炸之前在这些位置查找头文件”标志?

我不是C / C ++或Linux的人,所以我在这里黑暗中。 任何帮助将不胜感激。 谢谢!


解决了我的问题。 也许有人会发现这个信息有用:)

我所做的是完全重建所有静态库项目,然后是我的应用程序,使用“ndk-build -B”


修改jni / Android.mk文件

换行162:

LOCAL_STATIC_LIBRARIES := sphinxutil sphinxfe sphinxfeat sphinxlm pocketsphinx

至 :

LOCAL_STATIC_LIBRARIES := pocketsphinx sphinxlm sphinxfeat sphinxfe sphinxutil

这将解决您的问题。

链接地址: http://www.djcxy.com/p/49563.html

上一篇: Problems trying to build PocketSphinx for Android using NDK

下一篇: PHP Find date nearest to a timeline period