Salve a tutti!
premessa, sono su windows e ho la necessità che il programma funziona li, mentre gira su Linux.
Allora, ho delle funzioni C che vengono chiamate da Java, per questo uso JNI. L'esempio in questione è il classico HelloWorld per cui ho:
1) classe HelloWorld.java

codice:
class HelloWorld
{
    private native void print();
    public static void main(String[] args)
    {
        new HelloWorld().print();
    }
    static
    {
		try
       	{
			System.loadLibrary("HelloWorld");
			System.out.println("ok");
		}
		catch(Exception e)
		{
			System.out.println("erroreeeeeeeeeeeee");
		}
    }
}
la classe HelloWorld.c
codice:
#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"

JNIEXPORT void JNICALL 
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
    printf("Hello World!\n");
    return;
}
poi chiamo
1: javac HelloWorld.java
2: javah -jni HelloWorld

e tramite shell di VisualBasic

codice:
cl -I"c:\Program Files\Java\jdk1.6.0_06\include" -I"c:\Program Files\Java\jdk1.6.0_06\include\win32" -MD -LD HelloWorld.c -FeHelloWorld.dll
dopodiche se chiamo java HelloWorld mi da errore, allora ho provato ad iserire librerie come da più parti scritto, e quindi:

codice:
set LD_LIBRARY_PATH=C:\Users\antonio\Desktop\exampleOfJni
(anche su linux è lo stesso, li con il comando export LD_LIBRARY_PATH=/home/antonio/Desktop/exampleOfJni tutto si risolve)

quindi dopo di questo chiamo

codice:
java -Djava.library.path=. HelloWorld     ma anche   java HelloWorld
e ottengo lo stesso identico errore che otterei in linux senza chiamata ad "export" e qui prima di set LD_LIBRARY etc. Ho anche inserito la cartelal dell'esempio nel path e nulla. Inoltre con

echo %LD_LIBRARY_PATH%

ottengo

C:\Users\antonio\Desktop\exampleOfJni


posto in ultimo e ovviamente l'errore:
codice:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\antonio\Desktop\exampleOfJni\HelloWorld.dll: Can't find dependent libraries
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at HelloWorld.<clinit>(HelloWorld.java:12)
cercasi aiutooooo
e grazie in anticipo....
Antonio