JBuilder X dll load

masterjcl hat gesagt.:
Ich habe es gelöst :-)


Mein Problem war die Namensraum Spezifikation man sollte schon den Header File für die Wrapper Klasse definieren und nicht einfach versuchen eine DLL mit einem anderen Namensraum zu benutzen.


Code:
// alter header File
JNIEXPORT jint JNICALL Java_Sample1_intMethod

// neue header File
JNIEXPORT jint JNICALL Java_abrechnung_LoadLib_intMethod
Nachzulesen hier:
http://java.sun.com/j2se/1.4.2/docs/guide/jni/spec/design.html#wp615

trotzdem vielen Dank


Ich habe jetzt ein ähnliches Problem mit dem Link Error :-(

Loadlib ist ja hier die Classe aber woher kommt die abrechnung ?

Code:
class Ctapi {
  native int ctinit(int ctn,int pn);
  native byte[] ctdata(int ctn,byte[] buffer);
    //destination(dad),source(sad),length of command(lc),CommantBuffer(cmd)
    //  length of response(lr),Response(rsp)
  native int ctclose(int ctn);

  static {
    System.loadLibrary("Ctapi");
  }
}

so sieht bei mir im Moment aus

JNIEXPORT jint JNICALL Java_Ctapi_ctinit
(JNIEnv *, jobject, jint, jint);

und so im Header
 
Na toll :-(

Wenn immer der Projekt / Package Name mit rein kommt wird es schwerer für mich

ich wollte die Classe eigendlich in mehreren Projekte nutzen, jetzt sieht es für mich so aus, das ich für jeder Projekt sein eigenes libary.so file bekommt.
 
Das ist nicht ganz richtig wenn die Java-Wrapper Klasse einmal vernünftig funktioniert kannst Du Sie überall benutzen über eine neue Instanz des Objektes vom Typ Wrapperklasse.
dh Du solltest das Interface in ein eigenes Package packen dies kannst Du dann als Library immer wieder verwenden.

:)
 
Zurück