Почему эта ошибка сегментации шейдера OpenGL при вызовах glCreateShader ?

Я пытаюсь научиться писать OpenGL Shaders . Почему этот код segmentation fault запускается на моем компьютере? (Я использую Ubuntu 10.04 и назвал его shader.cpp .)

#include <GL/glut.h>
#include <iostream>
using namespace std;

int
main (int argc, char **argv)
{
  GLuint myVertexShader = glCreateShader(GL_VERTEX_SHADER);
  return 0;
}

Я компилирую его, используя следующий Makefile:

CC=g++
CFLAGS=-c -Wall -DGL_GLEXT_PROTOTYPES
LDFLAGS= -lglut -lGLU -lGL -lXmu -lXext -lX11 -lm
SOURCES=shader.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=shader

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
    $(CC) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o:
    $(CC) $(CFLAGS) $< -o $@

clean:
    rm -rf *o $(EXECUTABLE)

check-syntax:
    $(CC) -o nul -S ${CHK_SOURCES}

Кажется, ошибка сегментации в строке, которая вызывает glCreateShader . Мне так и не удалось выяснить источник этой проблемы. Я новичок. Спасибо!

Примечание: Этот код представляет собой мою первую попытку написать простой шейдер с использованием OpenGL. Если все не так, пожалуйста, разместите рабочий код. Я действительно хочу получить что-то, что я могу скомпилировать и запустить.

5
задан Steve Johnson 20 April 2011 в 01:45
поделиться