2010-08-23 4 views
1

내가하려고하는 것이 가능하다면 가능하지 않다.android library linking

나는 ndk로 tesseract 프로젝트 (libocr)를 만들려고한다. 이런 오류의 많은

... 컴파일 괜찮습니다하지만 연결이 잘못되었습니다 :

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에서 지원되지 않습니다 becaus 내가이 오류가 보인다. 그게 맞습니까?

나는이 문제를 STLport를 사용하여 해결할 수 있다고 생각했다. 그래서 나는 그것을 컴파일했고 libstlport.so 파일을 얻었다.

하지만 지금은 건물 libocr을 완료하기 위해 수행하고 무엇을 모르는 나는 libstlport.so

나는 결국 내가 자바에로드 할 두 개의 파일이 것이다 추측 넣어야 할 곳 : libocr에게. 그래서 libstlport.so하지만 가능한 경우 어떻게 그것을 달성하는 방법.

도움 주셔서 감사합니다.

답변

1

당신은 형식의 줄을 추가해야합니다

LOCAL_SHARED_LIBRARIES = libstlport.so

을 당신이 그것을 같이 구축 될하려는 경우, 당신의 Application.mk APP_MODULES 목록에 libstlport.so 추가해야 동일한 빌드 프로세스의 일부

또는 쉬운 방법으로 STL을 올바르게 작동시키는 NDK의 Crystax 빌드를 사용할 수 있습니다. 참조 : http://www.crystax.net/android/ndk.php