Kompilierproblem (von Swig erzeugter Code)

DarthShader

Erfahrenes Mitglied
Hallo,

ich hoffe es gibt hier ein paar Leute, die sich ein wenig mit Swig (http://www.swig.org) auskennen. Ich muss z.Z. einen Wrapper für ein C++ Programm bauen.

Ich versuche, ein einfaches Beispiel zum laufen zu kriegen (einfache Ausgabe von "HelloWorld"), Swig generiert mir dafür eine "example_wrapper.c" Datei.

Möchte ich diese kompilieren per

g++ example_wrap.c

Dann erscheint dieser Fehler:

Code:
example_wrap.c: In function `void SWIG_JavaThrowException(JNIEnv*, SWIG_JavaExceptionCodes, const char*)':
example_wrap.c:163: Fehler: Basisoperand von >>-><< hat Nicht-Zeiger-Typ >>_Jv_JNIEnv<<
example_wrap.c:164: Fehler: Basisoperand von >>-><< hat Nicht-Zeiger-Typ >>_Jv_JNIEnv<<
example_wrap.c:166: Fehler: Basisoperand von >>-><< hat Nicht-Zeiger-Typ >>_Jv_JNIEnv<<

Die entsprechende Stelle im Code sieht so aus:

Code:
static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) {
/* ...uninteressanter code... */

  (*jenv)->ExceptionClear(jenv);   // -- Zeile 163 --
  excep = (*jenv)->FindClass(jenv, except_ptr->java_exception);
  if (excep)
    (*jenv)->ThrowNew(jenv, excep, msg);
}

Dies ist von Swig generierter Code, und sollte funktionieren. D.h. ich suche den Fehler momentan definitiv auf meiner Seite. Ich versuche es mit g++ 3.4.4 unter cygwin zu kompilieren.

Ich würde mich sehr freuen wenn jemand Rat weiß.

Danke!
 
Zurück