안녕하세요... 아즈라엘 입니다. 


NDK 환경에서 openGL library 를 사용하기 위해..


//#include <GLES/gl.h>

//#include <GLES/glext.h>

#include <GLES2/gl2.h>

#include <GLES2/gl2ext.h>


이런식으로 include 시켰습니다. 


물론..Android.mk 파일 flag 값 setting 도 잊지 않았고요


LOCAL_CFLAGS := -Werror -DANDROID_NDK -DDISABLE_IMPORTGL

LOCAL_LDLIBS :=  -lGLESv1_CM -lGLESv2 -llog 


다만.. 


include 시 두개를 동시에 사용하지 못하게 되어 있는거 같습니다. 

해당 해더파일을 머지해보면 중복으로 선언이 되어있는게 많이 있습니다.


문제는 제가 포팅해야 하는 c/cpp 파일엔 두개의 해더파일을 다 써야 

빌드가 되는 이상한 상황이라..


둘다 include 시켜야 하는 상황에서는 에러가 발생되기 때문에 머지해서 

typedef 선언을 다시 해주었습니다. 

define 선언도 마찬가지고요..


여하튼 우역곡절끝에 빌드는 되었는데..


문제는 glGetString(GL_VERSION) 으로 버전을 확인하면

OpenGL ES 2.0 이 죽어도 안들어 오는군요..ㅠㅠ


android manifest.xml 에  

<!-- require OpenGL ES version 2.0 -->

<uses-feature android:glEsVersion="0x00020000" />


<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8" />

이렇게 명시적으로 해도 안되는건 마찬가지입니다.



//#include <GLES/gl.h>

//#include <GLES/glext.h>

#include <GLES2/gl2.h>

#include <GLES2/gl2ext.h>


위 두가지를 동시에 include 를 하는게 맞는건지..

혹은 둘다 하면 안되는거고 

#include <GLES2/gl2.h>

#include <GLES2/gl2ext.h>

2.0으로만 사용해야 하는건지.. 궁금합니다. 


또한 2.0 lib로 빌드가 안되고 1.0 으로 빌드가 되는 function  및 const 들은 어떻게 처리를 해야 할까요?



긴 글 읽어주셔서 감사합니다. 수고하세요~!! ㅎㅎ