我正在尝试使用PocketSphinx
AndroidDemo项目为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文件不在同一文件夹中.已在Android.mk文件中设置LOCAL_C_INCLUDES标志以包含所需的标头 –
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”