[sword-devel] Bishop source / JNI instructions

Troy A. Griffitts scribe at crosswire.org
Sun Apr 18 17:01:16 MST 2010


Yes, unless you want to rebuild libsword.so, you don't need the ndk.
Simply place libsword.so at:

bishop/libs/armeabi/libsword.so


But again, the most useful thing at this stage would be to help me
stabilize libsword.so

But I understand if you'd rather work on your frontend.  I'll keep you
posted on my progress with libsword.so for android.

The issues you've posted below seem to have something to do with your
paths.  Maybe you could try putting things relative to the same place I
have my stuff.  It is quite possible I have a path setup somewhere which
depends on my directory structure.

/home/scribe/src/sword/
/home/scribe/src/bishop/
/home/scribe/android-ndk-r3-crystax/
/home/scribe/android-ndk-r3-crystax/apps/bishop/Application.mk

with:

APP_PROJECT_PATH := $(call my-dir)/../../../src/bishop
APP_MODULES      := sword swordcore
APP_PLATFORM     := android-3


I'm sure you could change /home/scribe to your $HOME, but maybe try to
put everything else relative to your home like mine and see if it works.
 Once we get your setup working maybe we can determine which component
is counting on another being at a certain location, and if we can easily
break that requirement.

Troy



Wes Widner wrote:
> Troy,
> 
> Thank you VERY much for pointing me in the right direction. 
> 
> I've gotten crystax and have created a test project of my own. But when
> I attempt to run 'make APP=bishop' (I named my test app bishop as well)
> I get the following:
> Android NDK: Building for application 'bishop'    
> Compile++ thumb: sword <= /usr/src/bishop/jni/swordstub.cpp
> /usr/src/bishop/jni/swordstub.cpp:25:21: warning: utilstr.h: No such
> file or directory
> /usr/src/bishop/jni/swordstub.cpp:26:23: warning: swversion.h: No such
> file or directory
> /usr/src/bishop/jni/swordstub.cpp:27:19: warning: swmgr.h: No such file
> or directory
> /usr/src/bishop/jni/swordstub.cpp:28:19: warning: swlog.h: No such file
> or directory
> /usr/src/bishop/jni/swordstub.cpp:29:21: warning: filemgr.h: No such
> file or directory
> /usr/src/bishop/jni/swordstub.cpp:30:22: warning: swmodule.h: No such
> file or directory
> /usr/src/bishop/jni/swordstub.cpp:31:22: warning: versekey.h: No such
> file or directory
> /usr/src/bishop/jni/swordstub.cpp:32:23: warning: localemgr.h: No such
> file or directory
> /usr/src/bishop/jni/swordstub.cpp:33:24: warning: treekeyidx.h: No such
> file or directory
> /usr/src/bishop/jni/swordstub.cpp:34:24: warning: installmgr.h: No such
> file or directory
> In file included from /usr/src/bishop/jni/swordstub.cpp:36:
> /usr/src/bishop/jni/webmgr.hpp:23:22: warning: swfilter.h: No such file
> or directory
> /usr/src/bishop/jni/webmgr.hpp:24:27: warning: markupfiltmgr.h: No such
> file or directory
> /usr/src/bishop/jni/webmgr.hpp:25:24: warning: osiswordjs.h: No such
> file or directory
> /usr/src/bishop/jni/webmgr.hpp:26:24: warning: thmlwordjs.h: No such
> file or directory
> /usr/src/bishop/jni/webmgr.hpp:27:23: warning: gbfwordjs.h: No such file
> or directory
> In file included from /usr/src/bishop/jni/swordstub.cpp:22:
> build/platforms/android-3/arch-arm/usr/include/jni.h:489: note: the
> mangling of 'va_list' has changed in GCC 4.4
> In file included from /usr/src/bishop/jni/swordstub.cpp:36:
> /usr/src/bishop/jni/webmgr.hpp:29: error: 'sword' is not a namespace-name
> /usr/src/bishop/jni/webmgr.hpp:29: error: expected namespace-name before
> ';' token
> /usr/src/bishop/jni/webmgr.hpp:31: error: expected class-name before '{'
> token
> /usr/src/bishop/jni/webmgr.hpp:32: error: ISO C++ forbids declaration of
> 'OSISWordJS' with no type
> /usr/src/bishop/jni/webmgr.hpp:32: error: expected ';' before '*' token
> /usr/src/bishop/jni/webmgr.hpp:33: error: ISO C++ forbids declaration of
> 'ThMLWordJS' with no type
> /usr/src/bishop/jni/webmgr.hpp:33: error: expected ';' before '*' token
> /usr/src/bishop/jni/webmgr.hpp:34: error: ISO C++ forbids declaration of
> 'GBFWordJS' with no type
> /usr/src/bishop/jni/webmgr.hpp:34: error: expected ';' before '*' token
> /usr/src/bishop/jni/webmgr.hpp:35: error: ISO C++ forbids declaration of
> 'SWModule' with no type
> /usr/src/bishop/jni/webmgr.hpp:35: error: expected ';' before '*' token
> /usr/src/bishop/jni/webmgr.hpp:36: error: ISO C++ forbids declaration of
> 'SWModule' with no type
> /usr/src/bishop/jni/webmgr.hpp:36: error: expected ';' before '*' token
> /usr/src/bishop/jni/webmgr.hpp:37: error: ISO C++ forbids declaration of
> 'SWModule' with no type
> /usr/src/bishop/jni/webmgr.hpp:37: error: expected ';' before '*' token
> /usr/src/bishop/jni/webmgr.hpp:38: error: ISO C++ forbids declaration of
> 'SWModule' with no type
> /usr/src/bishop/jni/webmgr.hpp:38: error: expected ';' before '*' token
> /usr/src/bishop/jni/webmgr.hpp:68: error: 'SWModule' has not been declared
> /usr/src/bishop/jni/webmgr.hpp:68: error: 'ConfigEntMap' has not been
> declared
> /usr/src/bishop/jni/webmgr.hpp:68: error: 'ConfigEntMap' has not been
> declared
> /usr/src/bishop/jni/webmgr.hpp:68: error: expected ',' or '...' before
> 'start'
> /usr/src/bishop/jni/webmgr.hpp: In constructor 'WebMgr::WebMgr(const
> char*)':
> /usr/src/bishop/jni/webmgr.hpp:42: error: class 'WebMgr' does not have
> any field named 'SWMgr'
> /usr/src/bishop/jni/webmgr.hpp:42: error: expected type-specifier before
> 'MarkupFilterMgr'
> /usr/src/bishop/jni/webmgr.hpp:42: error: expected ')' before
> 'MarkupFilterMgr'
> /usr/src/bishop/jni/webmgr.hpp:43: error: 'defaultGreekLex' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:44: error: 'defaultHebLex' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:45: error: 'defaultGreekParse' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:46: error: 'defaultHebParse' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:48: error: 'osisWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:48: error: expected type-specifier before
> 'OSISWordJS'
> /usr/src/bishop/jni/webmgr.hpp:48: error: expected ';' before 'OSISWordJS'
> /usr/src/bishop/jni/webmgr.hpp:49: error: 'thmlWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:49: error: expected type-specifier before
> 'ThMLWordJS'
> /usr/src/bishop/jni/webmgr.hpp:49: error: expected ';' before 'ThMLWordJS'
> /usr/src/bishop/jni/webmgr.hpp:50: error: 'gbfWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:50: error: expected type-specifier before
> 'GBFWordJS'
> /usr/src/bishop/jni/webmgr.hpp:50: error: expected ';' before 'GBFWordJS'
> /usr/src/bishop/jni/webmgr.hpp:51: error: 'Load' was not declared in
> this scope
> /usr/src/bishop/jni/webmgr.hpp:58: error: 'setGlobalOption' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp: In destructor 'WebMgr::~WebMgr()':
> /usr/src/bishop/jni/webmgr.hpp:62: error: 'osisWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:63: error: 'thmlWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:64: error: 'gbfWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp: In member function 'void
> WebMgr::AddGlobalOptions(int*, int&, int)':
> /usr/src/bishop/jni/webmgr.hpp:71: error: request for member 'Markup' in
> '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:71: error: 'FMT_THML' was not declared in
> this scope
> /usr/src/bishop/jni/webmgr.hpp:72: error: request for member
> 'AddOptionFilter' in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:72: error: 'thmlWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:75: error: request for member 'Markup' in
> '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:75: error: 'FMT_GBF' was not declared in
> this scope
> /usr/src/bishop/jni/webmgr.hpp:76: error: request for member
> 'AddOptionFilter' in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:76: error: 'gbfWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:80: error: 'SWMgr' has not been declared
> /usr/src/bishop/jni/webmgr.hpp:80: error: 'start' was not declared in
> this scope
> /usr/src/bishop/jni/webmgr.hpp:80: error: 'end' was not declared in this
> scope
> /usr/src/bishop/jni/webmgr.hpp:83: error: request for member 'getConfig'
> in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:84: error: 'defaultGreekLex' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:86: error: request for member 'getConfig'
> in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:87: error: 'defaultHebLex' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:89: error: request for member 'getConfig'
> in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:90: error: 'defaultGreekParse' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:92: error: request for member 'getConfig'
> in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:93: error: 'defaultHebParse' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:95: error: request for member 'getConfig'
> in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:96: error: 'OptionFilterMap' has not been
> declared
> /usr/src/bishop/jni/webmgr.hpp:96: error: expected ';' before 'it'
> /usr/src/bishop/jni/webmgr.hpp:97: error: 'it' was not declared in this
> scope
> /usr/src/bishop/jni/webmgr.hpp:97: error: 'optionFilters' was not
> declared in this scope
> /usr/src/bishop/jni/webmgr.hpp:98: error: request for member
> 'AddOptionFilter' in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:102: error: request for member 'Markup'
> in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:102: error: 'FMT_OSIS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:103: error: request for member
> 'AddOptionFilter' in '* module', which is of non-class type 'int'
> /usr/src/bishop/jni/webmgr.hpp:103: error: 'osisWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp: In member function 'void
> WebMgr::setJavascript(bool)':
> /usr/src/bishop/jni/webmgr.hpp:109: error: 'osisWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:110: error: 'thmlWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/webmgr.hpp:111: error: 'gbfWordJS' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp: At global scope:
> /usr/src/bishop/jni/swordstub.cpp:46: error: 'sword' is not a namespace-name
> /usr/src/bishop/jni/swordstub.cpp:46: error: expected namespace-name
> before ';' token
> /usr/src/bishop/jni/swordstub.cpp:50: error: expected constructor,
> destructor, or type conversion before '*' token
> /usr/src/bishop/jni/swordstub.cpp:52: error: expected class-name before
> '{' token
> /usr/src/bishop/jni/swordstub.cpp: In constructor
> 'AndroidLogger::AndroidLogger()':
> /usr/src/bishop/jni/swordstub.cpp:57: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:58: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:59: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:60: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:61: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp: In member function 'virtual void
> AndroidLogger::logMessage(const char*, int) const':
> /usr/src/bishop/jni/swordstub.cpp:64: error: 'SWBuf' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:64: error: expected ';' before 'msg'
> /usr/src/bishop/jni/swordstub.cpp:65: error: 'msg' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:66: error: 'msg' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp: In function 'void init()':
> /usr/src/bishop/jni/swordstub.cpp:73: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:74: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:74: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:75: error: 'SWBuf' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:75: error: expected ';' before 'baseDir'
> /usr/src/bishop/jni/swordstub.cpp:76: error: expected ';' before 'confPath'
> /usr/src/bishop/jni/swordstub.cpp:78: error: 'FileMgr' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:78: error: 'confPath' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:79: error: 'FileMgr' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:82: error: 'SWConfig' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:82: error: expected ';' before 'config'
> /usr/src/bishop/jni/swordstub.cpp:83: error: 'config' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp: In function 'void initInstall()':
> /usr/src/bishop/jni/swordstub.cpp:93: error: 'installMgr' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp:94: error: 'SWBuf' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:94: error: expected ';' before 'baseDir'
> /usr/src/bishop/jni/swordstub.cpp:95: error: expected ';' before 'confPath'
> /usr/src/bishop/jni/swordstub.cpp:97: error: 'FileMgr' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:97: error: 'confPath' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:98: error: 'FileMgr' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:101: error: 'SWConfig' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp:101: error: expected ';' before 'config'
> /usr/src/bishop/jni/swordstub.cpp:102: error: 'config' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:105: error: expected type-specifier
> before 'InstallMgr'
> /usr/src/bishop/jni/swordstub.cpp:105: error: expected ';' before
> 'InstallMgr'
> /usr/src/bishop/jni/swordstub.cpp: In function '_jstring*
> Java_org_crosswire_android_sword_SWMgr_version(JNIEnv*, _jobject*)':
> /usr/src/bishop/jni/swordstub.cpp:116: error: 'SWVersion' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp:116: error: expected ';' before 'v'
> /usr/src/bishop/jni/swordstub.cpp:117: error: 'v' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp: In function '_jstring*
> Java_org_crosswire_android_sword_SWMgr_getPrefixPath(JNIEnv*, _jobject*)':
> /usr/src/bishop/jni/swordstub.cpp:139: error: 'class WebMgr' has no
> member named 'prefixPath'
> /usr/src/bishop/jni/swordstub.cpp: In function '_jstring*
> Java_org_crosswire_android_sword_SWMgr_getConfigPath(JNIEnv*, _jobject*)':
> /usr/src/bishop/jni/swordstub.cpp:147: error: 'class WebMgr' has no
> member named 'configPath'
> /usr/src/bishop/jni/swordstub.cpp: In function '_jobjectArray*
> Java_org_crosswire_android_sword_SWMgr_getModInfoList(JNIEnv*, _jobject*)':
> /usr/src/bishop/jni/swordstub.cpp:157: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:157: error: expected ';' before 'it'
> /usr/src/bishop/jni/swordstub.cpp:157: error: 'it' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:157: error: 'class WebMgr' has no
> member named 'Modules'
> /usr/src/bishop/jni/swordstub.cpp:162: error: 'SWLog' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:175: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:175: error: expected ';' before 'it'
> /usr/src/bishop/jni/swordstub.cpp:175: error: 'it' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:175: error: 'class WebMgr' has no
> member named 'Modules'
> /usr/src/bishop/jni/swordstub.cpp:176: error: 'SWModule' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp:176: error: 'module' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:179: error: 'SWBuf' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:179: error: expected ';' before 'type'
> /usr/src/bishop/jni/swordstub.cpp:180: error: expected ';' before 'cat'
> /usr/src/bishop/jni/swordstub.cpp:181: error: expected ';' before 'version'
> /usr/src/bishop/jni/swordstub.cpp:182: error: 'cat' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:182: error: 'type' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:187: error: 'assureValidUTF8' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp:189: error: 'type' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:191: error: 'version' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp: In function '_jobject*
> Java_org_crosswire_android_sword_SWMgr_getModuleByName(JNIEnv*,
> _jobject*, _jstring*)':
> /usr/src/bishop/jni/swordstub.cpp:216: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:216: error: 'module' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:216: error: 'class WebMgr' has no
> member named 'getModule'
> /usr/src/bishop/jni/swordstub.cpp:220: error: 'SWBuf' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:220: error: expected ';' before 'type'
> /usr/src/bishop/jni/swordstub.cpp:221: error: expected ';' before 'cat'
> /usr/src/bishop/jni/swordstub.cpp:222: error: 'cat' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:222: error: 'type' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:226: error: 'assureValidUTF8' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp:228: error: 'type' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp: In function 'void
> Java_org_crosswire_android_sword_SWMgr_setGlobalOption(JNIEnv*,
> _jobject*, _jstring*, _jstring*)':
> /usr/src/bishop/jni/swordstub.cpp:247: error: 'class WebMgr' has no
> member named 'setGlobalOption'
> /usr/src/bishop/jni/swordstub.cpp: In function '_jstring*
> Java_org_crosswire_android_sword_SWMgr_getGlobalOption(JNIEnv*,
> _jobject*, _jstring*)':
> /usr/src/bishop/jni/swordstub.cpp:266: error: 'SWBuf' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:266: error: expected ';' before 'value'
> /usr/src/bishop/jni/swordstub.cpp:270: error: 'value' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:270: error: 'assureValidUTF8' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp: In function '_jstring*
> Java_org_crosswire_android_sword_SWMgr_getGlobalOptionTip(JNIEnv*,
> _jobject*, _jstring*)':
> /usr/src/bishop/jni/swordstub.cpp:286: error: 'SWBuf' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:286: error: expected ';' before 'value'
> /usr/src/bishop/jni/swordstub.cpp:290: error: 'value' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:290: error: 'assureValidUTF8' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp: In function '_jstring*
> Java_org_crosswire_android_sword_SWMgr_filterText(JNIEnv*, _jobject*,
> _jstring*, _jstring*)':
> /usr/src/bishop/jni/swordstub.cpp:307: error: 'SWBuf' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:307: error: expected ';' before 'buf'
> /usr/src/bishop/jni/swordstub.cpp:309: error: 'class WebMgr' has no
> member named 'setGlobalOption'
> /usr/src/bishop/jni/swordstub.cpp:310: error: 'class WebMgr' has no
> member named 'filterText'
> /usr/src/bishop/jni/swordstub.cpp:310: error: 'buf' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:315: error: 'assureValidUTF8' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp: In function '_jobjectArray*
> Java_org_crosswire_android_sword_SWMgr_getGlobalOptions(JNIEnv*,
> _jobject*)':
> /usr/src/bishop/jni/swordstub.cpp:329: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:329: error: expected ';' before 'options'
> /usr/src/bishop/jni/swordstub.cpp:331: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:331: error: expected ';' before 'it'
> /usr/src/bishop/jni/swordstub.cpp:331: error: 'it' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:331: error: 'options' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:339: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:339: error: expected ';' before 'it'
> /usr/src/bishop/jni/swordstub.cpp:339: error: 'it' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:339: error: 'options' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:340: error: 'assureValidUTF8' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp: In function '_jobjectArray*
> Java_org_crosswire_android_sword_SWMgr_getGlobalOptionValues(JNIEnv*,
> _jobject*, _jstring*)':
> /usr/src/bishop/jni/swordstub.cpp:359: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:359: error: expected ';' before 'options'
> /usr/src/bishop/jni/swordstub.cpp:364: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:364: error: expected ';' before 'it'
> /usr/src/bishop/jni/swordstub.cpp:364: error: 'it' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:364: error: 'options' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:371: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:371: error: expected ';' before 'it'
> /usr/src/bishop/jni/swordstub.cpp:371: error: 'it' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:371: error: 'options' was not declared
> in this scope
> /usr/src/bishop/jni/swordstub.cpp:372: error: 'assureValidUTF8' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp: In function 'void
> Java_org_crosswire_android_sword_SWMgr_setCipherKey(JNIEnv*, _jobject*,
> _jstring*, _jstring*)':
> /usr/src/bishop/jni/swordstub.cpp:392: error: 'class WebMgr' has no
> member named 'setCipherKey'
> /usr/src/bishop/jni/swordstub.cpp: In function '_jobjectArray*
> Java_org_crosswire_android_sword_SWMgr_getAvailableLocales(JNIEnv*,
> _jobject*)':
> /usr/src/bishop/jni/swordstub.cpp:423: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:423: error: expected ';' before
> 'localeNames'
> /usr/src/bishop/jni/swordstub.cpp:425: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:425: error: expected ';' before 'it'
> /usr/src/bishop/jni/swordstub.cpp:425: error: 'it' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:425: error: 'localeNames' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp:433: error: 'sword' has not been declared
> /usr/src/bishop/jni/swordstub.cpp:433: error: expected ';' before 'it'
> /usr/src/bishop/jni/swordstub.cpp:433: error: 'it' was not declared in
> this scope
> /usr/src/bishop/jni/swordstub.cpp:433: error: 'localeNames' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp:434: error: 'assureValidUTF8' was not
> declared in this scope
> /usr/src/bishop/jni/swordstub.cpp: In function 'void
> Java_org_crosswire_android_sword_SWMgr_setDefaultLocale(JNIEnv*,
> _jobject*, _jstring*)':
> /usr/src/bishop/jni/swordstub.cpp:452: error: 'LocaleMgr' has not been
> declared
> /usr/src/bishop/jni/swordstub.cpp: At global scope:
> /usr/src/bishop/jni/swordstub.cpp:462: error: expected constructor,
> destructor, or type conversion before '*' token
> make: *** [out/apps/bishop/armeabi/objs/sword/swordstub.o] Error 1
> 
> /usr/src/bishop/jni is symlinked to sword/bindings/java-jni/jni and my
> Application.mk file in  android-ndk-r3-crystax/apps/bishop contains:
> APP_PROJECT_PATH := /usr/src/bishop
> APP_MODULES      := sword swordcore
> APP_PLATFORM     := android-3
> 
> Do you know what I'm doing wrong?
> 
> Also, I have gotten the libsword.so file from the bishop.apk file you
> posted earlier. Is there any way I could bind to it and use it?
> 
> -Wes
> 
> 
> On Sat, Apr 17, 2010 at 2:55 AM, Troy A. Griffitts <scribe at crosswire.org
> <mailto:scribe at crosswire.org>> wrote:
> 
>     Dear Wes,
> 
>     The files I threw together are still very much a prototype / proof of
>     concept.  But with that warning, everything you need to build libsword
>     for android is included in the svn repository for the SWORD engine.  You
>     can get the source here:
> 
>     svn co https://crosswire.org/svn/sword/trunk sword/
> 
>     The Bishop code is merely a bunch of calls to try out and help develop
>     the libsword bindings and really aren't worth checking in anywhere, but
>     if you'd like me to post them for an example, I can certainly do that.
> 
>     Please again realize these android jni wrappers are fragile and
>     incomplete.  Please feel free to improve them, but please don't count on
>     them working dependably.
> 
>     Build instructions.
> 
>     You'll need an NDK with STL support.  I have been trying crystax release
>     lately.  You can find it on the web.
> 
>     After that, you'll need a basic Application.mk file to place in your
>     apps folder.  Mine for bishop is here:
> 
>     ~/android-ndk-r3-crystax/apps/bishop/Application.mk
> 
>     and contains:
> 
>     APP_PROJECT_PATH := $(call my-dir)/../../../src/bishop
>     APP_MODULES      := sword swordcore
>     APP_PLATFORM     := android-3
> 
>     and I have a symlink:
> 
>     ~/src/bishop/jni -> ~/src/sword/bindings/java-jni/jni/
> 
>     ~/src/sword is simply a checkout of the current sword svn repository.
> 
>     Hope this helps get you started.  Let me know your progress!
> 
>     Troy
> 
> 
> 
> 
>     Wes Widner wrote:
>     > Hey everyone,
>     >
>     > I'm new to this list so forgive me if it's answered elsewhere and I've
>     > simply overlooked it. Where is the source code for the android project
>     > that uses the sword library via jni?
>     >
>     > Also, does anyone know how I should go about building the jni library
>     > for sword? I can mange to build the .java interface files, but I am
>     > having trouble figuring out where to build the system library (the .so
>     > file).
>     >
>     > Any help is much appreciated!
>     >
>     > Blessings,
>     > -Wes
>     >
>     >
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > sword-devel mailing list: sword-devel at crosswire.org
>     <mailto:sword-devel at crosswire.org>
>     > http://www.crosswire.org/mailman/listinfo/sword-devel
>     > Instructions to unsubscribe/change your settings at above page
> 
> 
>     _______________________________________________
>     sword-devel mailing list: sword-devel at crosswire.org
>     <mailto:sword-devel at crosswire.org>
>     http://www.crosswire.org/mailman/listinfo/sword-devel
>     Instructions to unsubscribe/change your settings at above page
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page




More information about the sword-devel mailing list