Zum Inhalt springen

jni => dll problem!!!


bigredeyes

Empfohlene Beiträge

hallo, ich probiere hier seit gestern mal so bissl rum und wollte was mit jni machen. gibt's ja ca. 1000 sachen im netzt drüber, die alle eigentlich gleich aussehen, das gleiche machen und gleich gut funktionieren. nur bei mir eben nicht!!!

ich habe eine doofe java-klasse:


public class Starter {

static{
System.out.println("nun lädt er dll....");
Runtime.getRuntime().loadLibrary("BigDll");
}

//diese Methode is in der DLL
private native void DoDo();

public static void main(String[] args) {
try{
System.out.println("Das ist java...");
Starter starter = new Starter();
starter.DoDo();
System.out.println("ENDE!");
}
catch(UnsatisfiedLinkError ex){
ex.printStackTrace();
System.out.println("Message: "+ex.getMessage());
System.out.println("CRASHBOOMBANG!!!");
}
}
}
[/php]

dann nehem ich das tolle javah-tool und mache da ne .h draus. faul ist der mensch!

*blitzerfunkel* eine schöne .h datei!

[php]
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Starter */

#ifndef _Included_Starter
#define _Included_Starter
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: Starter
* Method: DoDo
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_Starter_DoDo
(JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

dann noch schnell in vc7 (ich benutze visual studio 2003), ein neues projekt anlegen, dll anklicken, eine cpp dazu basteln:


#include <jni.h>

class Starter{

JNIEXPORT void JNICALL Java_Starter_DoDo
(JNIEnv *, jobject)
{
printf("Das ist ne Ausgabe");
}
};
[/php]

compilieren.....

in das verzeichnis von java-main schieben....

java-programm ausführen und immer den fehler:

nun lädt er dll....

Das ist java...

java.lang.UnsatisfiedLinkError: DoDo

at Starter.DoDo(Native Method)

at Starter.main(Starter.java:27)

Message: DoDo

CRASHBOOMBANG!!!

erhalten....

ich weiß echt nicht mehr weiter. hab schon auf 100 verschiedene art und weisen dll erstellt und sonst was alles gemacht. ich schnalls einfach nicht. wenn mich einer erlösen möchte, dann bitte.... :)

bigredeyes

p.s. java 1.4.2, visual studio 2003

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...