jni und DevC++

Status
Nicht offen für weitere Antworten.

Campino

Top Contributor
hi,
ich arbeite derzeit mit jni. Meine dll Dateien erstelle ich mit DevC++, allerdings funktionieren sie nicht. Wenn ich den selben Code in VisualC++ kompiliere, geht es, ich will aber DevC++ verwenden, weil ich von Visual C++ nur eine Autorenversion habe, die dafür sorgt das beim starten der dll eine Meldung erzeugt wird in der steht, dass das ganze mit VC gemacht ist. Nicht wirklich vorteilhaft ;)).

Also: Wie muss ich den DevC++-Compiler einstellen, um die Dlls verwenden zu können?
Müssen dlls irgendwelche speziellen methoden enthalten, ohne die java sie nicht verwenden kann? (Abgesehen von den nativen für meine Anwendung?)
 

Toasterwilli

Aktives Mitglied
Soweit ich weiß, ist es günstig wenn die DLL noch diese Methode enthält:

Code:
JNIEXPORT void JNICALL JNI_Onload(JavaVM *jvm, void *reserved){
    return JNI_VERSION_1_2;
}

bzw. die Versionsnummer deines JNI´s. Wenn du Befehle verwendest, die es in einer älteren Version noch nicht gab (z.B. GetDirectBufferAddress), dann erkennt sie die VM sonst nicht. Außerdem kannst da auch reinschreiben, was sonst noch gemacht werden soll, also z.B. irgendwelche Vairablen der DLL initialisieren, etc.

Zu deinen Compiler-Einstellungen kann ich dir leider nix sagen, aber evtl. hilft dir das weiter.
 

thE_29

Top Contributor
Hier gibts normalerweise einen Tipp (geht zZ net)
http://old.quellcodes.de/programm_tips.php

Wie man dieses Ding (also die Meldung) "wegschalten" kann.


Glaub da wird ein automatischer Tastendruck oder was gesendet...

Weiß aber nima genau wo das war, nur das es dort mal stand!

Ansonsten, wenn deine dll fertig ist, schick sie mir, ich compilier sie dir in VC (wenns anders net geht)
 

Campino

Top Contributor
thE_29 hat gesagt.:
Hier gibts normalerweise einen Tipp (geht zZ net)
http://old.quellcodes.de/programm_tips.php

Wie man dieses Ding (also die Meldung) "wegschalten" kann.


Glaub da wird ein automatischer Tastendruck oder was gesendet...

Weiß aber nima genau wo das war, nur das es dort mal stand!

Ansonsten, wenn deine dll fertig ist, schick sie mir, ich compilier sie dir in VC (wenns anders net geht)

Danke für das Angebot, dass Problem ist nur, dass ich derzeit auch eine andere Bibliotheke (Irrlicht) verwende, die dabei benötigte dll lässt sich mit VC nicht laden...
Da lob ich mir wieder Java mit seiner Plattformunabhängigkeit ;))
 
Status
Nicht offen für weitere Antworten.

Oben