-1

我尝试了在 stackoverflow 和其他一些论坛上发布的许多解决方案,并在谷歌上搜索,直到我完全沮丧。我正在使用带有 cygwin 的 Windows 8。我尝试让 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)

这些都没有给我一个结果,错误仍然存​​在....我该怎么做才能让它工作?

4

2 回答 2

1

然后,第一件事不工作是 cd 进入 sphinxbase 文件夹并输入命令 ./autogen.sh 。无论我如何编写它(./autogen.sh,只有 autogen.sh,只有 autogen 等),这都行不通。

您不需要运行 autogen.sh

这行得通,但是当我尝试使用 ndk-build 构建时,我在 cygwin 终端上收到下一条错误消息:jni/pocketsphinx_wrap.c:760:26: fatal error: pocketsphinx.h: No such file or directory

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

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

于 2013-03-23T12:50:01.650 回答
1

现在我得到了它的工作,我不喜欢回答我自己的问题,但也许它可以帮助其他人解决同样的问题。Nikolay Shmyrev 为我指明了正确的方向,非常感谢他。这是一个让pocketsphinx在windows和android上工作的小教程:

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

于 2013-03-30T15:03:54.387 回答