我可以运行NDK中提供的样本的hello-jni,但无法编译hello-gl2样本。
你能帮我吗?(我认为与OpenGL链接有问题)
这是安卓工作室报告的错误:
C:AndroidstudioProjectshello-gl2appsrcmainjnigl_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'
...
在Android.mk文件(在/jni文件夹中)中,应该有一行LOCAL_LDLIBS。这里需要指出一些与Android捆绑在一起的库。尝试以下
LOCAL_LDLIBS:=-log-landroid-lEGL-lGLESv1_CM
或者至少添加选项-lEGL和-lGLESv1_CM。第一个是EGL库,第二个是GLES库。
不过,我不知道最后一个版本号是否适合您的项目。
最后我使用了eclipse(对于那些正在处理相同问题的人),eclipse一切都很好。