Error en llamadas a JNI
Publicado por Javier Martín (2 intervenciones) el 29/01/2004 10:02:36
Estoy realizando una aplicacioón para Windows y mi problema en el siguiente error cuando realizo llamadas a una función que está dentro de una dll.
Exception in thread "main" java.lang.UnsatisfiedLinkError: diHola
at HolaMundo.diHola(Native Method)
at HolaMundo.main(HolaMundo.java:12)
He mirado en muchos manuales y todos dicen q hay que poner en el path la ruta donde está la dll. Dicha ruta SI la tengo en el path.
El código que utilizo es el siguiente:
Codigo java
//package prueba.hola;
public class HolaMundo
{
public native void diHola();
static {
System.loadLibrary("HolaMundo"); }
public static void main(String[] args) {
new HolaMundo().diHola(); }
}
Código c
#include <stdio.h>
#include "HolaMundo.h"
JNIEXPORT void JNICALL Java_HolaMunod_diHola(JNIEnv *Entorno, jobject objetos){
printf("Hola\n");}
Según está el código, si genero el .h y la .dll todo funciona, el error se produce cuando descomento la línea del package.
Utilizo JSDK1.4, Windows2000/XP
¿Es necesaria alguna dll o paquete para poder corregir el error?
Ya llevo más de un mes con este problema y no encuentro ninguna solución.¿Alguien sabe como solucionarlo?
Gracias
Exception in thread "main" java.lang.UnsatisfiedLinkError: diHola
at HolaMundo.diHola(Native Method)
at HolaMundo.main(HolaMundo.java:12)
He mirado en muchos manuales y todos dicen q hay que poner en el path la ruta donde está la dll. Dicha ruta SI la tengo en el path.
El código que utilizo es el siguiente:
Codigo java
//package prueba.hola;
public class HolaMundo
{
public native void diHola();
static {
System.loadLibrary("HolaMundo"); }
public static void main(String[] args) {
new HolaMundo().diHola(); }
}
Código c
#include <stdio.h>
#include "HolaMundo.h"
JNIEXPORT void JNICALL Java_HolaMunod_diHola(JNIEnv *Entorno, jobject objetos){
printf("Hola\n");}
Según está el código, si genero el .h y la .dll todo funciona, el error se produce cuando descomento la línea del package.
Utilizo JSDK1.4, Windows2000/XP
¿Es necesaria alguna dll o paquete para poder corregir el error?
Ya llevo más de un mes con este problema y no encuentro ninguna solución.¿Alguien sabe como solucionarlo?
Gracias
Valora esta pregunta


0