Load Library and use JNA to access

Basti4231

Bekanntes Mitglied
Hey Leute,

ich habe ein 64bit Windows 7 und möchte eine bestimmte dll laden, um dann über JNA darauf zuzugreifen.
Ich komme immer zu diesem Ergebnis hier: "Can't load IA 32-bit .dll on a AMD 64-bit platform".

Mehrmals habe ich gelesen, ich solle eine 32-bit jvm installieren, aber das habe ich nicht geschafft, es war am ende doch immer 64-bit jvm drauf.

Ich lade meine .dll so:
Java:
System.loadLibrary("TrapDoor");

Wie schaffe ich es, dass die gute jvm sich mit meiner dll anfreundet?
 
Zuletzt bearbeitet:
Hat sich erledigt.

Habe in Eclipse die 32bit JDK eingebunden und damit den Konflikt gelöst.
Unter Window->Preferences->Java->Installed JREs->Execution Environment habe ich das JDK für 32bit eingestellt und dann hats geklappt 🙂

Gruß Basti
 
Fragt sich, wie das Programm "draußen" (außerhalb von Eclipse) laufen soll. Eine Fehlermeldung mit Verweise auf die falsche JVM-Version sollte das mindeste sein.

Es sein denn, dein Programm wird Eclipse niemals verlassen, dann ist deine Lösung okay.
 
Ja du hast Recht. Bin auch zu dem gleichen Gedanken gekommen.
Es sieht so aus, dass die 32 bit .dll -Dateien auch nur von ner 32bit jvm verarbeitet werden können.
Außerhalb Eclipse funktioniert es dann ebenfalls nur, wenn ich eine 32Bit-Version von Java laufen habe.
Das ist erstmal kein Problem, da eine 32bit JVM auch auf ner 64er Platform läuft.

Was nun noch eine Herausforderung ist, ist das unabhängige Funktionieren der Anwendung, egal ob 32bit oder 64bit. Ich habe diese .dll aber leider nur in einer 32bit Version. Welche Möglichkeiten gibt es, diese Herausforderung zu meistern?
 

Zurück
Oben