При компиляции следующего кода C с НДК-сборки в терминале (я бегу Ubuntu):NDK OpenGL неопределенная ссылка на glVertexPointer
#include <jni.h>
#include <GLES/gl.h>
#include <GLES/glext.h>
#include "org_opengldrawinjni_DrawinJNI.h"
JNIEXPORT void JNICALL Java_org_opengldrawinjni_DrawinJNI_Draw
(JNIEnv *envptr, jobject jobj)
{
GLfloat vertices[] =
{ 1.0, 0.0, 0.0,
1.0, 1.0, 0.0,
0.0, 0.0, 0.0
};
GLubyte indices[] = { 0, 1, 2 };
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_BYTE, indices);
}
с этим Android.mk файла:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := OpenGLJNI
LOCAL_SRC_FILES := org_opengldrawinjni_DrawinJNI.c
LOCAL_LDLIBS := -llog -lGLESv1_CM.so
include $(BUILD_SHARED_LIBRARY)
Я получаю сообщение об ошибке, неопределенную ссылку на glVertexPointer. Мне интересно, почему, я считаю, что правильно включил заголовки и связал библиотеки в Android.mk
/home/thomas/Documents/LinuxProgramming/EclipseWorkspace/OpenGLDrawinginJNI/obj/local/armeabi/objs/OpenGLJNI/org_opengldrawinjni_DrawinJNI.o: In function `Java_org_opengldrawinjni_DrawinJNI_Draw':
/home/thomas/Documents/LinuxProgramming/EclipseWorkspace/OpenGLDrawinginJNI/jni/org_opengldrawinjni_DrawinJNI.c:33: undefined reference to `glVertexPointer'
collect2: ld returned 1 exit status
make: *** [/home/thomas/Documents/LinuxProgramming/EclipseWorkspace/OpenGLDrawinginJNI/obj/local/armeabi/libOpenGLJNI.so] Error 1
Спасибо!
Оно не работе для меня. Я все-таки делаю то же самое, что и результат и ошибка. –