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