NDK를 사용하여 응용 프로그램을 만들려고합니다. 아직 CMake를 지원하지 않는 외부 라이브러리를 사용하고 있기 때문에 ndk-build를 사용하고 있습니다. 이 Android.mk의 관련 라인 :OpenGL ES 3 기능을 사용하는 경우 Android에서 분할 오류
LOCAL_LDLIBS := -lEGL -lGLESv3
모든 것이 (컴파일 및 링크)를 구축 잘,하지만 난 (같은 glGenVertexArrays
가), 나 세그먼트 오류를 얻을 3.0는 OpenGL ES에서 함수를 사용하려고하면 .
그래서, 내가 이해할 수없는 이유로 libGLESv1_CM.so
에 연결되어
내가 디버거를 보면
는하지만,이를 참조하십시오.내 머리글 파일에서도 #include <GLES3/gl3.h>
이고 내 장치는 OpenGL ES 3.2를 지원합니다 (libGLESv3.so
파일도 /system/lib/
에 있음).
무엇이 누락 될 수 있습니까?
glBindBuffer는 ES 1.1에 의해 정의됩니다. 나는 그것에 대해 걱정하지 않을 것이다. – Andreas
런타임시 OpenGL에서 segfaults는 일반적으로 불량 포인터 때문에 발생합니다. 당신은 glGenVertexArrays에서 좋은 포인터를 보내는 것이 확실합니다. 즉, 미리 할당 된 n * GLuint 메모리 크기의 주소입니까? – Andreas
완전히 확실합니다. 또한 함수 포인터가 NULL로 설정되어 있음을 알 수 있습니다. –