I have built my Shared Library using NDK, that has few other libs in it. My lib has few 'extern' function defined. As it is a lib, those 'extern' functions are then declared in project (.cpp) file. I have an issue, where application builds just fine, and crashes on the device with the following error:
07-12 00:45:03.680: E/dalvikvm(2161): dlopen("/data/app-lib/org.libsdl.app-16/libRTEngine.so") failed: dlopen failed: cannot locate symbol "RTEngineSetup" referenced by "libRTEngine.so"...
This RTEngineSetup function is defined in my lib as : extern "C" void RTEngineSetup(); And then my application declares it like: void RTEngineSetup() { ... }
It seems like it can't link them together. This system works just fine on Desktops.
Here is an image of my code design: http://s14.postimg.org/s0r83u801/my_code.png
Here is how I build my libs (first part) and my Application (that includes my libs) (second part): http://ann-tech.com/lib_Android.txt
Please, if anyone has any idea why 'extern' definition () is not linked with it's declaration in application's .cpp file, please let me know. Wasted 2 days now.
Thanks for your time.