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;
(ファイルには、これらの問題がさらに多く含まれています)