Hallo!
Ich habe unter Windows eine kleine Application geschrieben, die auf einem Linux ausgeführt wird.
Die Application benötigt aber eine Java Native/Shared Library (.so) Names demo.so.
Ich habe auf dem Linux System:
export LD_LIBRARY_PATH="/home/debian/java"
ausgeführt.
Auf dem Windowsrechner habe ich die Jar erzeugt und in das obige Verzeichnis kopiert.
Führe ich nun das programm auf der Linux Console aus:
java -jar -Djava.library.path=".:/home/debian/java" demo.jar
erhalte ich:
Native code library failed to load.
java.lang.UnsatisfiedLinkError: /home/debian/java/demo.so: /home/debian/java/demo.so: cannot open shared object file: No such file or directory
Jedoch die Datei existiert und habe sogar chmod 7777 gegeben.
Der Javacode:
Ich habe unter Windows eine kleine Application geschrieben, die auf einem Linux ausgeführt wird.
Die Application benötigt aber eine Java Native/Shared Library (.so) Names demo.so.
Ich habe auf dem Linux System:
export LD_LIBRARY_PATH="/home/debian/java"
ausgeführt.
Auf dem Windowsrechner habe ich die Jar erzeugt und in das obige Verzeichnis kopiert.
Führe ich nun das programm auf der Linux Console aus:
java -jar -Djava.library.path=".:/home/debian/java" demo.jar
erhalte ich:
Native code library failed to load.
java.lang.UnsatisfiedLinkError: /home/debian/java/demo.so: /home/debian/java/demo.so: cannot open shared object file: No such file or directory
Jedoch die Datei existiert und habe sogar chmod 7777 gegeben.
Der Javacode:
Java:
package soDemo;
public class SoDemo {
static {
try {
System.load("/home/debian/java/demo.so");
System.loadLibrary("demo");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SoDemo soDemo = new SoDemo();
}
}
Zuletzt bearbeitet von einem Moderator: