2013-04-29 16 views
7

を解決できませんでした私は次のエラーを取得しています:アンドロイドNDKプロジェクトの「タイプ 『size_tのは』を解決できませんでした」が、私はすでにライブラリパスを追加しました:のAndroid NDKは

/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 

私はなぜこのエラーが理解できないのですか。


私はエラーを取得するコード:

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

私は、ヘッダのそれぞれがhereを説明したが、まだ動作していない追加。

+0

お願いします。違反コードを投稿してください。 –

+0

@AnonMailが追加されました。 – ademar111190

+0

size_tを定義するヘッダーを含める必要があると思います。おそらくstd :: size_tを使用する必要があります。 –

答えて

17

size_tのは、コンパイラ固有のものですSTDDEF.Hで定義されています...

#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"); 
    } 
} 

と、それはまた、動作しない:


は私がフォローをしようとしました。インクルードパスに追加するには、パスに/ toolchain // prebuilt // lib/ gcc /// includeを追加する必要があります。

たとえば、ndkを使用して64ビットWindowsマシンにAndroidアプリケーションを構築する場合は、パスに<NDK-PATH>\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\lib\gcc\arm-linux-androideabi\4.8\includeを追加する必要があります。

+1

プリプロセッサインクルード、マクロなど - >エントリ(CDTユーザエントリ) - >追加 チェック - >システムヘッダを含んでいます –