[sword-devel] Bishop source / JNI instructions
Peter von Kaehne
refdoc at gmx.net
Mon Apr 19 00:24:37 MST 2010
I am excited about the prospect of a Android application
(HTC Hero owner)
Troy A. Griffitts wrote:
> Hey Wes,
>
> Glad you can use the prebuilt library.
>
> Can you tell me if you have this line for both sword and swordcore in
> your sword/bindings/java-jni/jni/Android.mk
>
> LOCAL_C_INCLUDES := ../src/sword/include ../src/sword/include/internal/regex
>
> Your directories are slightly off from what mine are. Notice I have my
> ndk in my home directory, not my src directory.
>
> May I ask what platform you are building on?
>
> Troy
>
>
> Wes Widner wrote:
>> Thanks Troy,
>>
>> 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.
>>
>> 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.
>>
>> I moved my code to the following directories:
>> /usr/src/bishop
>> /usr/src/sword
>> /usr/src/android-ndk-r3-crystax
>>
>> Now it compiles a bit farther, but it still throws an error:
>> Compile thumb : swordcore <=
>> apps/bishop/../../../bishop/jni/../../../src/utilfuns/regex.c
>> apps/bishop/../../../bishop/jni/../../../src/utilfuns/regex.c:177:19:
>> error: regex.h: No such file or directory
>> apps/bishop/../../../bishop/jni/../../../src/utilfuns/regex.c:942:
>> error: expected '=', ',', ';', 'asm' or '__attribute__' before
>> 're_syntax_options'
>>
>> Other errors follow, but I assume they are cascading from these.
>>
>> -Wes
>>
>>
>> On Sun, Apr 18, 2010 at 8:01 PM, Troy A. Griffitts <scribe at crosswire.org
>> <mailto:scribe at crosswire.org>> wrote:
>>
>> 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>
>> > <mailto: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>
>> > <mailto: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>
>> > <mailto: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
>> <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
>
>
> _______________________________________________
> 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