Ich kann keinen Shader erstellen, wenn ich versuche, Shader mit sfml zu verwenden. Die Funktion glCreateShader (GL_VERTEX_SHADER); verursacht einen Segmentierungsfehler. Zuerst habe ich es gegoogelt und festgestellt, dass es das tut, wenn das Programm keinen offenen Kontext hat. Ich habe zuerst SDL ausprobiert, aber die schlechte Dokumentation und "Schauen Sie sich den Header an, um zu wissen, was zu tun ist" haben mich dazu gebracht, mich für sfml zu entscheiden
Der Code, der den Seg-Fehler verursacht, ist unten
sf::Window App(sf::VideoMode(800, 600, 32), "SFML OpenGL");
// Set color and depth clear value
glClearDepth(1.f);
glClearColor(0.f, 0.f, 0.f, 0.f);
// Enable Z-buffer read and write
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
// Setup a perspective projection
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
GLuint vertShader = glCreateShader(GL_VERTEX_SHADER);
//...
Ich schließe glew, gl.h, sfml-window, sfml-system mit opengl 2.1 unter gcc linux ein.
Was fehlt?