ссылка на библиотеку Android

1

Я не хочу, чтобы то, что я пытаюсь сделать, возможно:

Я пытаюсь построить проект tesseract (libocr) с помощью ndk. Компиляция в порядке, но ссылка неверна...

с такой большой ошибкой:

Android NDK: WARNING: Unsupported source file extensions in /home/jpprade/dev/tesseract3/jni/Android.mk for module ocr    
Android NDK:   ccstruct/detlinefit ccmain/tessembedded textord/strokewidth    
SharedLibrary  : libocr.so
/home/jpprade/dev/tesseract3/obj/local/armeabi/objs/ocr/ccutil/basedir.o: In function `getpath(char const*, STRING&)':
/home/jpprade/dev/tesseract3/jni/ccutil/basedir.cpp:59: undefined reference to `STRING::operator=(char const*)'
...

Кажется, что у меня есть эта ошибка, потому что stl не поддерживается в ndk. Правильно ли это?

Я думал, что смогу решить эту проблему, используя STLport. Поэтому я скомпилировал его, и у меня есть файл libstlport.so.

Но теперь я не знаю, что делать, чтобы закончить создание libocr, и где мне нужно поставить libstlport.so

Я предполагаю, что в итоге у меня будет два файла для загрузки в java: libocr.so и libstlport.so, но я не могу, если это возможно, и как добиться этого.

Спасибо за любую помощь!

Теги:
android-ndk
android-ndk-r4

1 ответ

1

Вам нужно добавить строку формы:

LOCAL_SHARED_LIBRARIES = libstlport.so

И вы должны добавить libstlport.so в свой список Application.mk APP_MODULES, если хотите, чтобы он был построен как часть одного и того же процесса сборки.

ИЛИ вы можете сделать это простым способом и использовать сборку Crystax для NDK, что делает STL работать правильно. См.: http://www.crystax.net/android/ndk.php

Ещё вопросы

Сообщество Overcoder
Наверх
Меню