-1

ここに投稿された多くのソリューションをstackoverflowや他のフォーラムに投稿し、完全にイライラするまでグーグルで試しました。Windows 8 で cygwin を使用しています。PocketSphinxAndroidDemo を実行しようとしましたが、チュートリアルに従いました

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

しかし、私は成功しませんでした。私がやった事:

チュートリアルを進め、すべてのリソースをダウンロードし、cygwin と swig をインストールします。次に、機能しない最初のことは、sphinxbase フォルダーに cd し、コマンド ./autogen.sh を入力することでした。どのように書いても(./autogen.sh、autogen.shのみ、autogenのみなど)、これは機能しません。それでは、チュートリアルを続けて、configure、make、make install コマンドを実行します。これは機能しましたが、ndk-build でビルドしようとすると、cygwin ターミナルに次のエラー メッセージが表示されます。

jni/pocketsphinx_wrap.c:760:26: 致命的なエラー: pocketphinx.h: そのようなファイルまたはディレクトリはありません

投稿されたすべてのソリューションに、PocketSphinxAndroidDemo jni-folder Android.mk ファイルの Sphinx パスを変更しました。私はそのようなものをすべて試しました

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 := pocketphinx sphinxlm sphinxfeat sphinxfe sphinxutil

これは、順序を変更するために何度も投稿されたため、正しいに違いありません。私も試してみました

$(BUILD_SHARED_LIBRARY) を含め、$(BUILD_STATIC_LIBRARY) を含めるように変更しました

これのどれも私に結果を与えませんでした、エラーはまだ存在します....それを機能させるために一体何ができますか?

4

2 に答える 2

1

自分の質問に答えるのは好きではありませんが、同じ問題を抱えている他の人に役立つかもしれません。Nikolay Shmyrev は、私に正しい方向を示してくれました。彼のおかげです。これは、windows と android で pocketphinx を動作させるための小さなチュートリアルです。

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

于 2013-03-30T15:03:54.387 に答える
1

次に、機能しない最初のことは、sphinxbase フォルダーに cd し、コマンド ./autogen.sh を入力することでした。どのように書いても(./autogen.sh、autogen.shのみ、autogenのみなど)、これは機能しません。

autogen.sh を実行する必要はありません

これは機能しましたが、ndk-build でビルドしようとすると、cygwin ターミナルで次のエラー メッセージが表示されます: jni/pocketsphinx_wrap.c:760:26: 致命的なエラー: pocketphinx.h: No such file or directory

Windows専用のwin32という名前のアーカイブではなく、ソースを含むアーカイブをダウンロードする必要があります。ファイル pocketphinx.h は、 pocketphinx-0.8.tar.gz/include に含まれています。

コンパイラには、インクルードを見つける「ヘッダー検索パス」の概念があります。検索パスは、-I オプションを使用してコンパイラ コマンド ライン引数で指定します。コンパイラがファイルを見つけられない場合、ファイルが別の場所にあるか、検索パスが正しく指定されていない可能性があります。ファイルを正しい場所に置くか、検索パスを正しく指定する必要があります。

于 2013-03-23T12:50:01.650 に答える