我收到了以下错误:“在Android ndk项目中无法解析”类型'size_t',但我已经添加了库路径:
/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描述的每个标题,但仍无法正常工作。
我试过以下:
#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");
}
}
它也行不通......
答案 0 :(得分:17)
size_t在stddef.h中定义,它是特定于编译器的。要将其添加到包含路径,您必须将/ 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
。