opengl unter linux compilieren ?
-
hmm, jetz hat er zwar die header gefunden, leider findet er die richtigen funktionen nicht

oom@workstation2:~/c/opengl$ doom@workstation2:~/c/opengl$ gcc -I/usr/X11R6/include/ opengl1.c -o open1 /tmp/cc0GHVoV.o(.text+0xf): In function `display': : undefined reference to `glClear' /tmp/cc0GHVoV.o(.text+0x24): In function `display': : undefined reference to `glPolygonMode' /tmp/cc0GHVoV.o(.text+0x39): In function `display': : undefined reference to `glPolygonMode' /tmp/cc0GHVoV.o(.text+0x41): In function `display': : undefined reference to `glLoadIdentity' /tmp/cc0GHVoV.o(.text+0xb5): In function `display': : undefined reference to `gluLookAt' /tmp/cc0GHVoV.o(.text+0xd5): In function `display': : undefined reference to `glColor4f' /tmp/cc0GHVoV.o(.text+0xe2): In function `display': : undefined reference to `glBegin' /tmp/cc0GHVoV.o(.text+0xff): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x11c): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x139): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x156): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x15e): In function `display': : undefined reference to `glEnd' /tmp/cc0GHVoV.o(.text+0x18a): In function `display': : undefined reference to `glTranslate' /tmp/cc0GHVoV.o(.text+0x197): In function `display': : undefined reference to `glBegin' /tmp/cc0GHVoV.o(.text+0x1b4): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x1d1): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x1ee): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x20b): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x228): In function `display': : undefined reference to `glVertex3f' /tmp/cc0GHVoV.o(.text+0x245): more undefined references to `glVertex3f' follow /tmp/cc0GHVoV.o(.text+0x24d): In function `display': : undefined reference to `glEnd' /tmp/cc0GHVoV.o(.text+0x267): In function `display': : undefined reference to `glTranslatef' /tmp/cc0GHVoV.o(.text+0x27f): In function `display': : undefined reference to `glutWireSphere' /tmp/cc0GHVoV.o(.text+0x287): In function `display': : undefined reference to `glFlush' /tmp/cc0GHVoV.o(.text+0x2a8): In function `main': : undefined reference to `glutInit' /tmp/cc0GHVoV.o(.text+0x2bd): In function `main': : undefined reference to `glutInitWindowSize' /tmp/cc0GHVoV.o(.text+0x2cc): In function `main': : undefined reference to `glutInitWindowPosition' /tmp/cc0GHVoV.o(.text+0x2dc): In function `main': : undefined reference to `glutCreatWindow' /tmp/cc0GHVoV.o(.text+0x2ec): In function `main': : undefined reference to `glutDisplayFunc' /tmp/cc0GHVoV.o(.text+0x30c): In function `main': : undefined reference to `glClearColor' /tmp/cc0GHVoV.o(.text+0x31c): In function `main': : undefined reference to `glMatrixMode' /tmp/cc0GHVoV.o(.text+0x324): In function `main': : undefined reference to `glLoadIdentity' /tmp/cc0GHVoV.o(.text+0x359): In function `main': : undefined reference to `gluPerpective' /tmp/cc0GHVoV.o(.text+0x369): In function `main': : undefined reference to `glMatrixMode' /tmp/cc0GHVoV.o(.text+0x371): In function `main': : undefined reference to `gluMainLoop' collect2: ld returned 1 exit status doom@workstation2:~/c/opengl$mein source:
#include <GL/gl.h> //opengl #include <GL/glu.h> //opengl ulitiy #include <GL/glut.h> //opengl ulitiy toolkit void display() { glClear(GL_COLOR_BUFFER_BIT); //löscht erstmal alle farbinformationen glPolygonMode(GL_FRONT,GL_FILL); //zeichen der sichtbaren objekte glPolygonMode(GL_BACK,GL_LINE); //zeichnen der verdeckten oobjekte glLoadIdentity(); gluLookAt(0.0,10.0,10.0 //position des boebachters ,0.0,0.0,0.0 //worauf zentriert ? ,0.0,1.0,0.0); //vektor nach oben glColor4f(1.0,0.0,0.0,1.0); //rot mit transparentz glBegin(GL_LINES); glVertex3f(0.0,0.0,0.0); glVertex3f(1.0,0.0,0.0); glVertex3f(0.0,0.0,0.0); glVertex3f(0.0,0.0,1.0); glEnd(); glTranslate(0.0,0.0,2.0); glBegin(GL_TRIANGLES); glVertex3f( 0.0, 0.0, 0.0); glVertex3f( 1.0, 1.0, 0.0); glVertex3f(-1.0, 1.0, 0.0); glVertex3f( 0.0, 0.0, 0.0); glVertex3f( 1.0, -1.0, 0.0); glVertex3f(-1.0, -1.0, 0.0); glEnd(); glTranslatef(0.0,0.0,-7.0); glutWireSphere(1.0,16,16); glFlush(); } int main(int argc, char**argv) { glutInit(&argc,argv); //initialisierung glutInitWindowSize(300,300); //fenstergroese glutInitWindowPosition(0,0); //fensterpostion glutCreatWindow("tut 1 mit opengl"); //name des fensters glutDisplayFunc(display); //zeigt auf funktion display glClearColor(0.0,0.0,0.0,0.0); //es soll mit schwarz gelöscht werden glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerpective(45.0,1.0,1.0,100.0); glMatrixMode(GL_MODELVIEW); gluMainLoop(); return 0; }
-
doom@workstation2:~/c/opengl$ gcc -I/usr/X11R6/include/ -lGL opengl1.c -o open1 /tmp/ccf4UrYo.o(.text+0xb5): In function `display': : undefined reference to `gluLookAt' /tmp/ccf4UrYo.o(.text+0x18a): In function `display': : undefined reference to `glTranslate' /tmp/ccf4UrYo.o(.text+0x27f): In function `display': : undefined reference to `glutWireSphere' /tmp/ccf4UrYo.o(.text+0x2a8): In function `main': : undefined reference to `glutInit' /tmp/ccf4UrYo.o(.text+0x2bd): In function `main': : undefined reference to `glutInitWindowSize' /tmp/ccf4UrYo.o(.text+0x2cc): In function `main': : undefined reference to `glutInitWindowPosition' /tmp/ccf4UrYo.o(.text+0x2dc): In function `main': : undefined reference to `glutCreatWindow' /tmp/ccf4UrYo.o(.text+0x2ec): In function `main': : undefined reference to `glutDisplayFunc' /tmp/ccf4UrYo.o(.text+0x359): In function `main': : undefined reference to `gluPerpective' /tmp/ccf4UrYo.o(.text+0x371): In function `main': : undefined reference to `gluMainLoop' collect2: ld returned 1 exit status doom@workstation2:~/c/opengl$kk, mit linken wird das schon eher was ^^
allerdings gibt es kein -l glu oder so ... das findet er nich ... wie kann ich die definition von z.b. der funktion wie gluMainLoop dem compilier beibringen ?
-
mal ganz allgemein, wo finde ich ne liste von den linker files ?
wieso ?
damit ich weis, wie sie heißen, damit ich sie richtig einbinden kann ^^
-
hast du mal
glut32 versucht ?
-
-lGLU, vielleicht auch lglut, kommt drauf an, welche implementation du hast.
kannst mal nachgucken, die sollten unter /usr/lib liegen. libGL* libgl*