Estoy usando Java para una aplicación pequeña. Es una reescritura de un proyecto MFC existente. Existe una dll existente que necesito cambiar para habilitar el acceso desde Java usando JNI. Todas estas cosas de Java son nuevas para mí, así que estoy teniendo un pequeño problema y me siento bastante denso cuando leo otras publicaciones en el foro. En el dll existente tengo una función como esta:Llamando a C++ dll desde Java
extern "C" __declspec(dllexport) bool Create()
{
return TRUE;
}
Tiempo de pregunta tonto. ¿Cómo configuro correctamente para ser llamado por Java?
yo probamos este:
JNIEXPORT jboolean JNICALL Create()
{
return TRUE;
}
Estoy incluyendo jni.h y todo compila bien. Sin embargo, cuando lo llamo desde Java obtengo UnsatisfiedLinkError. Lo llamo desde Java usando esto:
public static native boolean CreateSession();
System.load("D:\\JavaCallTest.dll");
Create();
¿Alguien podría empujarme amablemente en la dirección correcta? Agradezco sinceramente cualquier ayuda.
Gracias,
Nick
¿Has mirado el ejemplo de Sun? http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html – Etienne
Alternativamente, puede usar JNA en lugar de JNI, ya que tiene un dll C que JNA puede cargar. – ecle
Por favor, publique la excepción que se lanza ... – quaylar