gcc - jni call involving open cobol dlls -


i trying invoke existing cobol application using jni. cobol application structure follows.

c-wrapper(main)-->cobolprogram -> several dyn(.so) , static  called modules 

the existing cobol application involves several statically called subprograms(cobol) , many dynamic(cobol) ones.

jni invocation of application ok, not locate , invoke cobol dynamic sub modules.

modified application structure (for jni) follows:

java class --> libjni.so --> appl.so  

i verified cob_library_path , ld_library_path environment variables before call, seems fine.

following error message got in case dynamic modules.

libcob:  ....<module>.so: undefined symbol: cob_save_call_params 

i use 64 bit , 1.1.0 on linux. gcc used create binary using c output of cobc command

this issue can resolved specifying -lcob linkage option(when using gcc). gcc command used create binary contained option, mistakenly placed in between target , source file, not in effect. execution of dll without jni invocation, somehow not require -lcob option, jni invocation requires -lcob linkage option.


Comments

Popular posts from this blog

java - Static nested class instance -

c# - Bluetooth LE CanUpdate Characteristic property -

JavaScript - Replace variable from string in all occurrences -