Erstellen einer .dll für JNI mit MinGW

Status
Nicht offen für weitere Antworten.

andre111

Bekanntes Mitglied
Ist es auch möglich unter Windows mit dem MinGW Compiler .dll Bibliotheken für JNI zu erstellen?
Ich habe die Klassen und .c/.h Dateien genau wie hier geschrieben und auch kompiliert. Zum erstellen der .dll hab ich folgenden Befehl verwendet:

gcc -Wall -shared -I C:\Programme\Java\jdk1.6.0_11\include -I C:\Programme\Java\jdk1.6.0_11\include\win32 strlen.c -o strlen.dll

So lässt sich die .dll auch erstellen, allerdings bekomme ich beim ausführen des Java-Programmes folgende Fehlermeldung:

Exception in thread "main" java.lang.UnsatisfiedLinkError: StrLen.strlen(Ljava/lang/String;)I
at StrLen.strlen(Native Method)
at StrLen.main(StrLen.java:12)

Weis jemand was ich da machen muss, dass ich mit MinGW die .dll erstellen kann, sodass sie auch funktioniert?

Gruß André
 

Ebenius

Top Contributor
Wie sieht denn die Java-Klasse StrLen aus? Kannst den Code mal posten? Bitte code-Tags verwenden!

Ebenius
 

andre111

Bekanntes Mitglied
Steht alles in dem Link, aber jetzt auch hier:

StrLen.java

Code:
public class StrLen
{
    static {
        System.loadLibrary("strlen");
    }

    public static   native   int strlen( String s );

    public static void main( String args[] )
    {
        System.out.println( strlen("Markus ist doof.") );
    }
}

StrLen.h

Code:
/* DO NOT EDIT THIS FILE – it is machine generated */
#include <jni.h>
/* Header for class StrLen */

#ifndef _Included_StrLen
#define _Included_StrLen
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     StrLen
 * Method:    strlen
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_StrLen_strlen
  (JNIEnv *, jclass, jstring);

#ifdef __cplusplus
}
#endif
#endif

strlen.c

Code:
#include <jni.h>
#include "StrLen.h"
#include <stdio.h>

JNIEXPORT jint JNICALL Java_StrLen_strlen( JNIEnv *env, jclass clazz, jstring s )
{
  printf( "Hallo Java-Freunde!\n" );
  return 0;
}
 

Ebenius

Top Contributor
Wenn ich das richtig sehe, lässt sich die Bibliothek laden, nicht aber die Abhängigkeit zu stdio. Überprüf mal das Java-Property "java.library.path".
 

Ebenius

Top Contributor
Lass Dir den Pfad mal ausgeben. Stell sicher, dass alle Bibliotheken (auch die MinGW-Bibliotheken) über den Library-Path verfügbar sind.

Ebenius
 

andre111

Bekanntes Mitglied
Habs mit dem Borland Compiler gemacht, da funktioniert alles einwandfrei.
Danke für die Hilfe.

Gruß Andre
 

The_S

Top Contributor
Für gcc könnte ich auch etwas beitragen - das Thema hat mir auch schon genug kopfzerbrechen beschehrt ...
 

The_S

Top Contributor
kA ... so genau beschäftige ich mich nicht mit C-Compilern ;) . Ich hab momentan keine Zeit, aber werd noch demnächst mein Senf dazu geben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
F erstellen einer neuen methode für das Zeichenfenster Java Basics - Anfänger-Themen 4
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
O Anonyme Klasse einer Liste erstellen Java Basics - Anfänger-Themen 7
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
D Methoden JButton und JLabel in einer Methode erstellen Java Basics - Anfänger-Themen 5
J Erstellen einer Datei ohne path Java Basics - Anfänger-Themen 1
E Methoden Auf Methoden einer Klasse zugreifen, ohne ein Objekt zu erstellen Java Basics - Anfänger-Themen 2
W Objekt einer Unterklasse erstellen Java Basics - Anfänger-Themen 4
O OOP Methoden bei erstellen einer Instanz und mehr Java Basics - Anfänger-Themen 4
T Liste mit nur einer Klasse erstellen Java Basics - Anfänger-Themen 22
kaoZ Android Programmierung / Erstellen einer neuen Instanz Java Basics - Anfänger-Themen 2
B Klassen über Main Klasse in einer anderen Klasse ein Objekt erstellen Java Basics - Anfänger-Themen 5
L Aus einer String Variablen ein Objekt erstellen Java Basics - Anfänger-Themen 14
B Problem bei dem erstellen einer Main Methode Java Basics - Anfänger-Themen 4
K Komisches Verhalten beim erstellen einer Datei Java Basics - Anfänger-Themen 5
O Ungleiche Objekte in einer Schleife erstellen Java Basics - Anfänger-Themen 3
T Erstellen einer .csv-Datei Java Basics - Anfänger-Themen 12
A Probleme beim erstellen einer lauffähigen jar Java Basics - Anfänger-Themen 3
A Null Pointer Exception beim Erstellen eines Arrays aus einer eigenen Klasse Java Basics - Anfänger-Themen 3
Ollek Erstellen einer ausführbaren JAR-Datei mit externen Libaries Java Basics - Anfänger-Themen 9
D Wie Objekte einer Unterklasse erstellen? Java Basics - Anfänger-Themen 14
M Erstellen einer Suchleiste Java Basics - Anfänger-Themen 2
Z objekt erstellen von canonical name einer klasse Java Basics - Anfänger-Themen 6
B Erstellen einer Klasse aus einer Klasse Java Basics - Anfänger-Themen 4
E Frage zum RandomAcces und erstellen einer txt Java Basics - Anfänger-Themen 6
D Wie neue Instanz einer Klasse erstellen, von der ich nur eine andere Instanz kenne? Java Basics - Anfänger-Themen 13
V objekt einer Klasse erstellen Java Basics - Anfänger-Themen 21
K Erstellen einer Verknüpfung Java Basics - Anfänger-Themen 3
C Erstellen und Beschreiben einer HTML-Datei Java Basics - Anfänger-Themen 4
G Erstellen einer JAR-Datei mit Ant-Scrit schlägt fehl Java Basics - Anfänger-Themen 2
M Variablenname mithilfe einer schleife erstellen? Java Basics - Anfänger-Themen 2
N jpg vom Inhalt einer JeditorPane erstellen. Java Basics - Anfänger-Themen 10
G Aus einer Methode zwei erstellen? Java Basics - Anfänger-Themen 3
N Verständnisproblem: Mehrere Objekte einer Klasse erstellen Java Basics - Anfänger-Themen 2
F Array einer eigenen Klasse erstellen. Java Basics - Anfänger-Themen 8
X Arrays - Erstellen einer Klasse zur Ausgabe von Reihen etc. Java Basics - Anfänger-Themen 12
B Befehl zum erstellen einer Zufallszahl. Java Basics - Anfänger-Themen 8
J Erstellen einer Klasse Java Basics - Anfänger-Themen 12
M Wiederholung in einer Laufschrift erstellen Java Basics - Anfänger-Themen 10
G Problem beim erstellen einer .jar Datei Java Basics - Anfänger-Themen 9
M erstellen einer Datenbank Java Basics - Anfänger-Themen 17
G Probelm mit Runtime exec! Erstellen einer neuen Konsole. Java Basics - Anfänger-Themen 2
B Erstellen einer ausführbaren Datei Java Basics - Anfänger-Themen 3
XWing Int erstellen lassen? Java Basics - Anfänger-Themen 11
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J Packages erstellen Java Basics - Anfänger-Themen 7
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
C Gewinnspiel erstellen mit Algorithmus Java Basics - Anfänger-Themen 3
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
A Passwort erstellen Java Basics - Anfänger-Themen 3
S CVS erstellen Java Basics - Anfänger-Themen 1
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
dcHost Java Kara Sensor erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
berserkerdq2 IO Streams logfile erstellen und Sachen schreiben wie? Java Basics - Anfänger-Themen 2
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S Programm erstellen Java Basics - Anfänger-Themen 3
S MinMax Programm erstellen Java Basics - Anfänger-Themen 4
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
T Countdown erstellen Java Basics - Anfänger-Themen 7
I ZIP File erstellen Java Basics - Anfänger-Themen 10
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
B Zurück Button erstellen Java Basics - Anfänger-Themen 1
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
B JaxB - Referenzen erstellen? Java Basics - Anfänger-Themen 2
K Rekursion: Rechenmauer mit Array erstellen Java Basics - Anfänger-Themen 17
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
E Classpath Datai erstellen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben