3

我喜欢构建与 NDK 一起提供的 Android NDK 示例“native-audio”。NDK 提供的编译器毫无怨言地吞下了它,但 Eclipse 在 file 中显示了几个错误native-audio-jni.c

在下面的代码摘录中,所有静态变量声明都有红色下划线,因为 Eclipse 声称无法解析类型。它们是在文件中定义的,如果我+左键单击OpenSLES.h文件,Eclipse 会找到它。Ctrl

请注意,与示例源相比,我修改了包含hello_clip和的行android_clip——我还将数组声明放在那些“头”文件中(它们只包含逗号分隔的数据),因为 Eclipse 在解析语法时也有问题:

static const char array[] = #include"blah.h"; 

我尝试了互联网上建议的东西,比如从eclipse.exe -clean、清理项目/重建、刷新项目等开始,都没有帮助。

那么,Eclipse 无法解析这些类型的原因/解决方案是什么?

#include <assert.h>
#include <jni.h>
#include <string.h>

// for __android_log_print(ANDROID_LOG_INFO, "YourApp", "formatted message");
// #include <android/log.h>

// for native audio
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>

// for native asset manager
#include <sys/types.h>
#include <android/asset_manager.h>
#include <android/asset_manager_jni.h>

// pre-recorded sound clips, both are 8 kHz mono 16-bit signed little endian

// includes data arrays here
#include "hello_clip.h"
#include "android_clip.h"



// engine interfaces
static SLObjectItf engineObject = NULL;
static SLEngineItf engineEngine;

// output mix interfaces
static SLObjectItf outputMixObject = NULL;
static SLEnvironmentalReverbItf outputMixEnvironmentalReverb = NULL;

(该文件充满了更多这些问题)

4

0 回答 0