2013-04-29 12 views
7
aufgelöst werden kann

ich die folgenden Fehler bekommen: „Typ‚size_t‘konnte nicht aufgelöst werden“ auf Android NDK Projekt, aber ich hinzugefügt bereits die Bibliothekspfade:Android NDK in Eclipse Typ size_t nicht

/Users/ademar/android-ndk-r8e/platforms/android-8/arch-arm/usr/include 
/Users/ademar/android-ndk-r8e/sources/cxx-stl/stlport/stlport 
/Users/ademar/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include 

so verstehe ich nicht, warum dieser Fehler.


Code, wo ich den Fehler:

static inline bool simplejson_wcsnlen(const wchar_t *s, size_t n) 

Ich habe jede einzelne Header here beschrieben, aber immer noch nicht funktioniert.


Habe versucht, die folgen:

#include <string.h> 
#include <jni.h> 
#include <android/log.h> 
#include <iostream> 
#include <stdio.h> 

extern "C" { 
    JNIEXPORT jstring JNICALL Java_xxx_getStringFromJNI(JNIEnv* env, jobject thiz, jstring param) { 
     size_t x; 
     return env->NewStringUTF("test"); 
    } 
} 

und es funktioniert auch nicht ...

+0

posten Sie bitte den fehlerhaften Code. –

+0

@AnonMail hinzugefügt :) – ademar111190

+0

Ich denke, Sie müssen die Kopfzeile, die size_t definiert enthalten. und Sie müssen wahrscheinlich std :: size_t verwenden. –

Antwort

17

size_t ist in stddef.h definiert, die Compiler-spezifisch ist. Um es dem Include-Pfad hinzuzufügen, müssen Sie die/toolchain // prebuilt // lib/gcc /// in Ihren Pfad einfügen.

Zum Beispiel zum Erstellen einer Android-App auf 64-Bit-Windows-Maschine mit ndk, müssen Sie <NDK-PATH>\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\lib\gcc\arm-linux-androideabi\4.8\include zu Ihrem Pfad hinzufügen.

+1

Präprozessor Include, Makros etc -> Einträge (CDT User Entries) -> Add Und check -> Enthält Systemheader –