1
我正嘗試使用NDK創建應用程序。我使用的是ndk-build,因爲我還在使用一些尚不支持CMake的外部庫。這是Android.mk相關線路:在使用OpenGL ES 3功能時在Android上發生分段錯誤
LOCAL_LDLIBS := -lEGL -lGLESv3
一切構建(編譯和鏈接)就好了,但是當我嘗試使用從OpenGL ES的函數3.0+(如glGenVertexArrays
),我得到一個分段錯誤。
當我看到進入調試器,不過,我看到:
因此,它是連接對libGLESv1_CM.so
的原因,我不明白。
此外,在我的頭文件中,我有#include <GLES3/gl3.h>
,我的設備支持OpenGL ES 3.2(我也看到了/system/lib/
上的libGLESv3.so
文件)。
我可能會錯過什麼?
glBindBuffer由ES 1.1定義。我不會爲此擔心。 – Andreas
來自opengl的運行時段錯誤通常是由於壞指針造成的。你確定你在glGenVertexArrays中發送了好的指針,也就是預先分配的內存大小爲n * GLuint的地址? – Andreas
完全確定。而且,你可以看到函數指針被設置爲NULL。 –