Glew und Freeglut in Codeblocks unter Linux installieren
-
Ich versuche diesen Code mit CodeBlocks zum laufen zu bringen:
#include <stdlib.h> #include <stdio.h> #include <string.h> #include <GL/glew.h> #include <GL/freeglut.h> #define WINDOW_TITLE_PREFIX "Chapter 1" int CurrentWidth = 800, CurrentHeight = 600, WindowHandle = 0; void Initialize(int, char*[]); void InitWindow(int, char*[]); void ResizeFunction(int, int); void RenderFunction(void); int main(int argc, char* argv[]) { Initialize(argc, argv); glutMainLoop(); exit(EXIT_SUCCESS); } void Initialize(int argc, char* argv[]) { InitWindow(argc, argv); fprintf( stdout, "INFO: OpenGL Version: %s\n", glGetString(GL_VERSION) ); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); } void InitWindow(int argc, char* argv[]) { glutInit(&argc, argv); glutInitContextVersion(4, 0); glutInitContextFlags(GLUT_FORWARD_COMPATIBLE); glutInitContextProfile(GLUT_CORE_PROFILE); glutSetOption( GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS ); glutInitWindowSize(CurrentWidth, CurrentHeight); glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA); WindowHandle = glutCreateWindow(WINDOW_TITLE_PREFIX); if(WindowHandle < 1) { fprintf( stderr, "ERROR: Could not create a new rendering window.\n" ); exit(EXIT_FAILURE); } glutReshapeFunc(ResizeFunction); glutDisplayFunc(RenderFunction); } void ResizeFunction(int Width, int Height) { CurrentWidth = Width; CurrentHeight = Height; glViewport(0, 0, CurrentWidth, CurrentHeight); } void RenderFunction(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glutSwapBuffers(); glutPostRedisplay(); }
Glew und Freeglut habe ich runtergeladen und die Headerdatein findet es auch.
Jedoch bekomme ich diese Fehlermeldungen:
undefined reference to 'glutMainLoop'
undefined reference to 'glutInit'
undefined reference to 'glutInitContextVersion'
.. und zu den restlichen Funktionen die gleiche.Es wird wahrscheinlich ein Linker Fehler sein.
Aber wie linke ich die Libs richtig? und welche?
http://img691.imageshack.us/img691/7358/screenshotnw.pngUploaded with ImageShack.us
Danke für Eure Hilfe!
Jokester
-
GLUT selbst linkst du nicht. Wie genau die Datei heißt, musst du nachsehen, schätzungsweise libglut.so o.ä.
-
Vielen Dank, es hat so halb geklappt am Anfang bekam ich in der Konsole immer einen Segemntion Fault und jetzt kommt ein schwarzes Fenster, das so komisch aufflimmert.
Kann es daran liegen, weil ich eine zu alte OpenGL Version habe?ich@hier:~$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Radeon HD 4500 Series OpenGL version string: 1.4 (3.3.10600 Compatibility Profile Context)