Проблемы с построением PocketSphinx для Android с помощью NDK
Я пытаюсь построить PocketSphinx для Android с помощью проекта PocketSphinxAndroidDemo. Я отказался от своего стремления построить его с помощью 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, поэтому я здесь в темноте. Любая помощь будет очень признательна. Спасибо!
2 ответов
решить мою проблему. Может быть, кто-то найдет эту информацию полезной :)
то, что я сделал, было полной перестройкой всех проектов статической библиотеки, а затем мое приложение, используя "ndk-build-B"
изменить jni / Android.Mk file
Изменить Строку 162 :
LOCAL_STATIC_LIBRARIES := sphinxutil sphinxfe sphinxfeat sphinxlm pocketsphinx
в :
LOCAL_STATIC_LIBRARIES := pocketsphinx sphinxlm sphinxfeat sphinxfe sphinxutil
это решит вашу проблему.