示例Android NDK hello-gl2无法在Android Studio上编译

时间:2015-04-04 17:56:32

标签: android opengl-es android-ndk

我能够运行NDK中提供的样本的hello-jni,但我无法编译hello-gl2样本。

你可以帮帮我吗? (我认为是与OpenGL链接的问题)

这是Android Studio报告的错误:

C:\AndroidstudioProjects\hello-gl2\app\src\main\jni\gl_code.cpp
Error:(39) undefined reference to `glGetError'
Error:(41) undefined reference to `__android_log_print'
Error:(40) undefined reference to `glGetError'
Error:(34) undefined reference to `glGetString'
Error:(35) undefined reference to `__android_log_print'
Error:(58) undefined reference to `glCreateShader'
Error:(60) undefined reference to `glShaderSource'
Error:(61) undefined reference to `glCompileShader'
Error:(63) undefined reference to `glGetShaderiv'
Error:(66) undefined reference to `glGetShaderiv'
Error:(70) undefined reference to `glGetShaderInfoLog'
Error:(72) undefined reference to `__android_log_print'
Error:(75) undefined reference to `glDeleteShader'
...

2 个答案:

答案 0 :(得分:0)

在Android.mk文件中(在/ jni文件夹中),应该有一个LOCAL_LDLIBS行。需要在此处指出与Android捆绑在一起的一些库。请尝试以下

LOCAL_LDLIBS:= -llog -landroid -lEGL -lGLESv1_CM

或者至少添加选项-lEGL和-lGLESv1_CM。第一个是EGL库,第二个是GLES库。

我不知道最后一个是否是您项目的正确版本号。

答案 1 :(得分:0)

最后我使用了eclipse(对于那些处理相同问题的人)和Eclipse都很好。