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

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

1 голос
/ 24 августа 2010

Не знаю, возможно ли то, что я пытаюсь сделать:

Я пытаюсь собрать проект 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, но я не знаю, если это возможно и как этого добиться.

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

1 Ответ

1 голос
/ 25 сентября 2010

Вам необходимо добавить строку вида:

LOCAL_SHARED_LIBRARIES = libstlport.so

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

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

...