【问题标题】:Unresolved inclusion: <jni.h>未解决的包含:<jni.h>
【发布时间】:2011-07-04 13:38:45
【问题描述】:

我在 eclipse & sequoyah 上遇到了一些麻烦。我写了一个简单的应用程序,没有红杉它成功构建。但它属于模拟器,所以我决定使用 sequoyah 进行原生调试。在红杉的安装之后,我看到未解决的包含不允许我构建和运行该项目。有人可以帮我吗?谢谢。

【问题讨论】:

  • 您是否正在使用 Eclipse Indigo?
  • 你的项目布局是什么?顺便说一下,你应该用NDK工具编译jni源代码。
  • 好像来不及了。但是,您 ${YOUR_JDK_PATH}\include 是否包含您 cdt 项目的路径?
  • @qrtt1 想详细说明那个意见?此外,您认为使用 NDK 将如何解决 OP 的包含问题?

标签: android eclipse android-ndk


【解决方案1】:

我必须执行以下步骤才能消除此警告:

  1. 打开 Eclipse 的导航器视图(这样您就可以看到隐藏的文件)。
  2. 删除 .project 和 .cproject。
  3. 清理(您可能会遇到一些错误,但这是正常的)并重新启动 Eclipse。
  4. 文件 -> 新建 -> 其他 -> C/C++ -> 转换为 C/C++ 项目。
  5. 确保在单选按钮中选择 C++。另外,选择 GNU Make(请选择 Android Make !)。
  6. 清理项目。
  7. 右键单击项目 -> 属性 -> C/C++ 常规 -> 路径和符号。转到“包含”选项卡并包含所需目标的“包含”目录的文件夹路径(在我的情况下是“/Developer/AndroidNDK/platforms/android-9/arch-arm/usr/include”)
  8. 在点击“确定”之前,选中“应用到所有”复选框。
  9. 最后一次重启 Eclipse,警告应该消失了!

希望对你有帮助。

【讨论】:

    【解决方案2】:

    假设已下载 Android NDK 并设置了 NDK-HOME 和 Path。

    在 Eclipse 中添加 Android NDK 引用 ->Windows->Preference->Android->NDK 这里设置一个NDK文件夹的路径 重启 Eclipse 右键项目->Android工具->添加原生支持

    它会自动添加所有相关的东西。

    你的问题会解决的 :)

    【讨论】:

      【解决方案3】:

      jni.h 是 NDK 的一个包含部分,eclipse 看不到它的事实是它不知道它在哪里。

      在您项目的 c++ 属性中,您应该包含适用于您的平台的 NDK 包含在 {ANDROID_NDK}/platforms/android-{version}/arch/arm/usr/include 你可以得到更多关于设置你的ide的信息here

      但我不认为这是你的问题,即使 eclipse 显示错误,因为它没有正确设置它不会提供任何帮助..

      从 logcat 发布您的错误也许我们可以提供帮助?

      【讨论】:

      • 是的,我只需要将{ANDROID_NDK}/platforms/android-{version}/arch/arm/ 添加到我的项目的路径和符号列表中。属性 - C/C++ 常规 - 路径和符号 - 源位置。谢谢!
      【解决方案4】:

      您需要将 jni.h 添加到项目的路径中。

      将以下路径添加到:项目 -> 属性 -> C/C++ 常规 -> 路径和符号 -> “包含” -> GNU C++

      ${NDK_ROOT}\sources\cxx-stl\gnu-libstdc++\4.8\include

      ${NDK_ROOT}\platforms\android-9\arch-x86\usr\include

      清理你的项目。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-06
        • 2014-01-30
        • 2013-12-06
        • 2013-05-06
        • 1970-01-01
        • 2019-11-25
        • 2017-01-12
        • 1970-01-01
        相关资源
        最近更新 更多