3

私は Android 2.3.3 用のネイティブ アクティビティ アプリに取り組んでいます。コード サンプルからコードをコピーし、インクルード パスを設定しましたが、Eclipse (Indigo) はまだこの定数を見つけることができません。

EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); //Type 'EGL_DEFAULT_DISPLAY' could not be resolved

ただし、コンパイラはエラーを表示しません。

Compile++ thumb  : NativeTest <= NativeTest.cpp

理由はありますか?

4

2 に答える 2

8

このエラーは、Eclipse で __ ANDROID__ が定義されていないため、EGL/eglplatform.h で EGLNativeDisplayType が定義されていないため、EGL_DEFAULT_DISPLAY も定義されていません。

これを修正するには、プロジェクトのプロパティに移動し、「C/C++ General->Paths and Symbols」ページに移動し、「Symbols」タブで GNU C をクリックしてから「Add」ボタンをクリックして、

__ANDROID__

を名前フィールドに入力し、[OK] をクリックします。GNU C++ でも同じことができます。

于 2012-04-26T17:14:17.887 に答える
1

次のように追加することもできます。

 typedef void* EGLNativeDisplayType;

egl.h をインクルードする前に。

于 2012-12-01T23:47:18.610 に答える