【问题标题】:Android NDK in Eclipse Type size_t could not be resolvedEclipse 类型 size_t 中的 Android NDK 无法解析
【发布时间】:2013-04-29 16:59:04
【问题描述】:

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

它也不起作用......

【问题讨论】:

  • 请发布违规代码。
  • 我认为您需要包含定义 size_t 的标头。你可能必须使用 std::size_t。
  • @AnonMail 我添加了 '' 使用 std:: 是正确的吗?所以它不起作用:/

标签: c++ eclipse android-ndk


【解决方案1】:

size_t 在编译器特定的 stddef.h 中定义。为了将其添加到包含路径,您必须将 /toolchain//prebuilt//lib/gcc///include 添加到您的路径中。

例如,要在 64 位 Windows 机器上使用 ndk 构建一个 android 应用程序,您必须将 &lt;NDK-PATH&gt;\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\lib\gcc\arm-linux-androideabi\4.8\include 添加到您的路径中。

【讨论】:

  • 预处理器包含、宏等 -> 条目(CDT 用户条目) -> 添加并检查 -> 包含系统头文件
猜你喜欢
  • 1970-01-01
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 2021-05-12
  • 1970-01-01
  • 2014-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多