4

我正在尝试在 Eclipse 中使用 NDK,但是在遵循教程时会弹出此错误,我不明白它来自哪里

这是我的 .h 文件

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_example_myproject_MainActivity */

#ifndef _Included_com_example_myproject_MainActivity
#define _Included_com_example_myproject_MainActivity
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_example_myproject_MainActivity
 * Method:    getMyData
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_example_myproject_MainActivity_getMyData
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

错误 = 无法解析类型“JNICALL”

我在代码视图中也有语法错误,但这些并没有出现在 JNIEXPORT 出现的错误之间

4

3 回答 3

2

在大多数情况下,JNICALL 用于 Windows。我 99% 确定你可以添加

#define JNICALL

(定义为空白)

与 JNIEXPORT 相同。

于 2012-07-19T13:04:16.637 回答
1

转到项目属性-> C/C++ 常规-> 路径和符号。

  1. 选择包含选项卡,然后单击窗口右侧的添加按钮
  2. 从文件系统中选择包含目录

例如:C:\Program Files (x86)\Android\android-sdk\NDK\android-ndk-r10\platforms\android-L\arch-arm\usr\include。

它会询问您是否要重建,单击是...完成

于 2015-08-27T04:54:32.973 回答
0

我刚遇到这个问题,这是我的解决方案。如果您在 Linux 上使用Java 7,请确保已将这两个包含路径添加到您Includes

/usr/lib64/jvm/java-7-oracle/include/linux
/usr/lib64/jvm/java-7-oracle/include
于 2015-01-08T08:41:23.620 回答