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:
Die entsprechende Stelle im Code sieht so aus:
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!
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!