I've been expanding on the example given here: http://davanum.wordpress.com/2007/12/09/android-invoke-jni-based-methods-bridging-cc-and-java/ (thanks for that example!)
and have am getting Unresolved symbols when I have a class with a virtual function. I am using the java code given in the above example. Here's the C++ code I am using: #include "com_hp_CamDemo_Native.h" class jj { virtual int func() {return 0;};// this line causes a failure // int func() {return 0;};// this line works }; JNIEXPORT jlong JNICALL Java_com_hp_CamDemo_Native_add (JNIEnv * env, jclass c, jlong a, jlong b) { jj *j = new jj; return a * b * 4; } There are two function definitions in the class jj. The one with the virtual keyword (which forces the class to have a vtable) results in the UnsatisifiedLinkError exception being thrown, while the non- virtual function works fine. Here are the compile and link command lines I am using arm-none-linux-gnueabi-g++ -MD -c -fpic -I/usr/java/jdk1.6.0_11/ include/ -I/usr/java/jdk1.6.0_11/include/linux -o obj/jini.o jini.cpp arm-none-linux-gnueabi-ld -T armelf_linux_eabi.xsc --error-unresolved- symbols -static -shared -o libNative.so obj/jini.o Is there a command line switch I'm missing that will allow this to be used in android? FWIW, I'm building the .so on Fedora Core 8 with the arm-2007q3 toolset and I'm running the android emulator on windowsXP. Thanks for any insight or suggestions on how to find a solution for this! jim anderson --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---