Externe Bibliothek verwenden
-
Hallo,
ich versuche gerade jcurses zum Kompilieren zu bringen, doch irgendwas mach ich wohl falsch. Ich hab jcurses heruntergeladen, im lib-Ordner befinden sich eine .jar und zwei .so Dateien. Ich packe diese drei Dateien in einen anderen lib-Ordner in meinem Projekt. Dann mache ich Refresh in Eclipse und füge das .jar zum Build Path hinzu.
Dann versuche ich folgendes auszuführen:
import jcurses.system.*; public class javaProject{ public static void main(String[] arguments){ Toolkit kit = new Toolkit(); kit.printString("hello", 0, 0, new CharColor(CharColor.BLACK, CharColor.WHITE)); } }
aber ich bekomme diese Fehlermeldung:
OpenJDK 64-Bit Server VM warning: You have loaded library ../javaProjects/javaProject/lib/libjcurses.so which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'. Exception in thread "main" java.lang.UnsatisfiedLinkError: ../javaProjects/javaProject/lib/libjcurses.so: ../javaProjects/javaProject/lib/libjcurses.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086) at jcurses.system.Toolkit.<clinit>(Toolkit.java:37) at javaProject.main(javaProject.java:6)
Dann führe ich, wie es da steht,
execstack -c *.so
aus, aber das ändert gar nichts an der Fehlermeldung. Nun weiß ich nicht mehr was tun.Wie bringe ich das Programm zum Laufen?