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



我可以运行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一切都很好。

相关内容

最新更新