[jni] compiler error

darkeye2

Bekanntes Mitglied
Hallo,

ich war mir eigendlich ziemlich sicher, dass es diesen fehler schon mal im forum gab, aber die suche gibt mir nix aus, also hier mein Problem:
Ich benutzer JNI und für den C++ code den Dev-C++ compiler, beim compilieren erhalter ich folgenden Fehler:
Code:
base operand of `->' has non-pointer type `JNIEnv_'

Die Zeile, auf die dieser Fehler verweist sieht so aus:
Code:
return (*env)->NewStringUTF(env, pid_vid);

pid_vid ist ein char array (c) und env ist ganz normal die jni übergabe: JNIEnv *env

MfG
darkeye
 
Den nativen Teil kann man entweder mit C oder mit C++ compilieren. Meistens hängt es von der Dateiendung ab: Stelle sicher, dass deine Datei eine .CPP-Datei ist, um sie mit dem C++-Compiler zu compilieren.

Ansonsten ist das Muster so, dass man bei C als ersten Parameter immer den JNIEnv-Pointer übergeben muss. (Bei C++ wird das intern eigentlich genauso gemacht, aber das sieht man nicht, deswegen: ) Bei C++ ist der Aufruf dann
env->NewStringUTF(nurDerEigentlicheParameter); // (d.h. hier wird das 'env' NICHT nochmal übergeben)
 

Neue Themen


Zurück
Oben