Я только изучаю OpenGl и пытаюсь реализовать простой тест того, как работает Primitive Restart Index. Что бы я ни пытался, g++ выдает ошибку «неопределенная ссылка на `__glewPrimitiveRestartIndex'».
Вот код, о котором идет речь:
#include <GL/glew.h>
#include <GL/freeglut.h>
static GLfloat vertices[] = {0.0, 0.0, 0.0, 5.0, -5.0, 0.0,
0xffff, 0.0, -10.0, 5.0, -15.0, 6.0, -8.0};
void init(void)
{
glEnable(GL_PRIMITIVE_RESTART);
glPrimitiveRestartIndex(0xffff);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vertices);
}
Я признаю, что я немного новичок в использовании g++ и не совсем понимаю его механизмы переключения и включения. Команда g++, которую я использую для ее компиляции, выглядит следующим образом: g++ -o test test.cpp -lGL -lglut
После добавления «-lGLEW» к команде программа компилируется, но выдает ошибку сегментации. Удаление строки "glPrimitiveRestartIndex(0xffff);" из кода заставляет его компилироваться и работать без ошибок (конечно, без работы примитивного индекса перезапуска), когда -lGLEW добавляется к команде компиляции, но выдает ту же ошибку при попытке без.
Это наводит меня на мысль, что первоначальная проблема возникает из-за того, что я не включил -lGLEW, поэтому единственная оставшаяся проблема - выяснить, почему мне выдается ошибка сегментации. Я пробовал с другими значениями, кроме 0xffff, но проблема остается.