Actualmente estoy usando tanto C++ como Java en un proyecto y me gustaría poder enviar un objeto que está contenido en C++ a mi interfaz Java para modificarlo a través de una GUI y luego enviar la modificación de vuelta en C++.Devolver una clase C++ a Java a través de JNI
Hasta ahora he estado devolviendo nada, un int o un booleano a Java a través de la interfaz JNI. Esta vez tengo que enviar un objeto a través de la interfaz. He hecho disponible una definición de clase similar tanto en C++ como en Java. Me gustaría saber cómo crear un objeto para poder usarlo en Java.
En C++ que tienen:
JNIEXPORT MyObject JNICALL Java_ca_X_Y_Z_C_1getMyObject(JNIEnv* env, jclass, jint number);
Esta función se obtendría llamado por Java con el fin de conseguir el objeto de lado el C++ (el objeto está contenida en un producto único, de fácil acceso).
En el extremo de Java, hago una llamada simple a este método,
MyObject anObject = C_getMyObject(3);
que me debe devolver el objeto recién creado.
Java actualmente me devuelve un UnsatisfiedLinkError cuando realizo la llamada real. ¿Qué está mal?