使用OpenGL ES 3函数时Android上的分段错误

时间:2017-09-18 15:55:42

标签: opengl-es android-ndk ndk-build

我正在尝试使用NDK创建应用程序。我正在使用ndk-build,因为我还使用了一些尚不支持CMake的外部库。这是Android.mk中的相关行:

LOCAL_LDLIBS := -lEGL -lGLESv3

所有内容(编译和链接)都很好,但是当我尝试使用OpenGL ES 3.0+中的函数(如glGenVertexArrays)时,我会遇到分段错误。

但是,当我查看调试器时,我看到了这一点:

enter image description here

因此,由于我不理解的原因,它与libGLESv1_CM.so链接。

此外,在我的标头文件中,我有#include <GLES3/gl3.h>,我的设备支持OpenGL ES 3.2(我还看到了libGLESv3.so上的/system/lib/文件。)

我能错过什么?

1 个答案:

答案 0 :(得分:0)

我使用的外部库包括源gl3stub.c,大概是为了支持旧的OpenGL ES规范。这使得指向较新API的指针无效。删除此源并重新编译外部库解决了这个问题。