Java - Problemas con JNI y shared libraries (Linux)

 
Vista:

Problemas con JNI y shared libraries (Linux)

Publicado por Carlos (1 intervención) el 06/07/2006 04:45:59
Hola colegas

Tengo un problema que queria consultar con ustedes:

Estoy empezando a utilizar JNI, hago el archivo .java, lo compilo a .class(con javac), hago el .h(con java -hni...) y el .c que compilo a .so (con gcc).
Pongo todos los archivos (HelloJNI.h, HelloJNI.class y libHelloJNI.so) en el mismo directorio

hago en el prompt LD_LIBRARY_PATH=. y export LD_LIBRARY_PATH

Por ultimo, al hacer java HelloJNI me aparece el siguiente mensaje de error:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no HelloJNI in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at HelloJNI.<clinit>(HelloJNI.java:23)

Si en el promp pongo esto:

java -Djava.library.path=. HelloJNI

funciona correctamente, pero mi duda es:

ESTA ULTIMA es la UNICA forma de hacerlo ?

Tambien probé poner en el codigo

System.setpropertie("java.library.path",".");

antes de cargar la libreria, pero tampoco funciona

si alguien sabe como hacerlo por codigo (o por lo menos sin tener que escribir todo java -Djava.library.path=. CADA VEZ que quiero ejecutar el programa), POR FAVOR que me dé una mano

Desde ya MUCHISIMAS GRACIASS

Carlos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder