Pocketsphinx Android演示错误ndk-build on cygwin

时间:2013-03-23 10:28:11

标签: android-ndk offline speech cmusphinx

我在stackoverflow和其他一些论坛上尝试了很多解决方案,直到我完全感到沮丧。我正在使用Windows 8和cygwin。我尝试按照

上的教程运行PocketSphinxAndroidDemo

http://cmusphinx.sourceforge.net/2011/05/building-pocketsphinx-on-android/

但我没有成功。我做了什么:

阅读教程,下载所有资源并安装cygwin和swig。然后,第一件不起作用的是cd到sphinxbase文件夹并输入命令./autogen.sh。无论我怎么写它(./ autogen.sh,只有autogen.sh,只有autogen等),这都行不通。好的,我继续学习教程并给出命令configure,make和make install。这很有用,但是当我尝试使用ndk-build构建时,我在cygwin终端上收到了下一条错误消息:

jni / pocketsphinx_wrap.c:760:26:致命错误:pocketsphinx.h:没有这样的文件或目录

我在PocketSphinxAndroidDemo jni-folder Android.mk文件中更改了所有已发布的解决方案Sphinx Path。我尝试过像

这样的东西

SPHINX_PATH:= $ / cygdrive / c / Programmierung / DeveloperLibs / CMUSphinx

SPHINX_PATH:= $ / c / Programmierung / DeveloperLibs / CMUSphinx

SPHINX_PATH:= / cygdrive / c / Programmierung / DeveloperLibs / CMUSphinx

SPHINX_PATH:= $ / home / c / Programmierung / DeveloperLibs / CMUSphinx

SPHINX_PATH:= $ / cygdrive / home / Programmierung / DeveloperLibs / CMUSphinx

依此类推......等等没有任何帮助。顺便说一下,定义了本地静态库:

LOCAL_STATIC_LIBRARIES:= pocketsphinx sphinxlm sphinxfeat sphinxfe sphinxutil

这一定是对的,因为这次发布了很多次以改变订单。即便我尝试了

包含$(BUILD_SHARED_LIBRARY)并将其更改为包含$(BUILD_STATIC_LIBRARY)

这些都没有给我一个结果,错误仍然存​​在......我到底能做些什么才能让它发挥作用?

2 个答案:

答案 0 :(得分:1)

  

然后,第一件不起作用的是cd到sphinxbase文件夹并输入命令./autogen.sh。无论我怎么写它(./ autogen.sh,只有autogen.sh,只有autogen等),这都行不通。

您无需运行autogen.sh

  

这很有效,但是当我尝试使用ndk-build构建时,我在cygwin终端上收到了下一条错误消息:   jni / pocketsphinx_wrap.c:760:26:致命错误:pocketsphinx.h:没有这样的文件或目录

您需要下载包含源的存档,而不是名为win32的存档,仅适用于Windows。 pocketphinx.h文件包含在pocketsphinx-0.8.tar.gz / include。

编译器具有“标题搜索路径”的概念,在其中找到包含。搜索路径在编译器命令行参数中使用-I选项指定。如果编译器找不到某个文件,则很可能文件位于其他位置,或者未正确指定搜索路径。您需要将文件放在正确的位置或正确指定搜索路径。

答案 1 :(得分:1)

现在我觉得它有用了,我不想回答我自己的问题,但也许它可以帮助其他人解决同样的问题。 Nikolay Shmyrev向我指出了正确的方向,非常感谢他。这里有一个小教程,可以让pocketphinx在windows和android上运行:

https://sites.google.com/site/opiatefuchs/home/pocketsphinxandroiddemo