From: Johan O. <joh...@pp...> - 2001-01-07 16:36:31
|
Hi, I've used the following simple makefile for my GL/glut adventures : ---------------------------------- TARGET = <Name of executable> SRCS = <source files> OBJS = ${SRCS:.c=.o} CC = gcc LDFLAGS = -lglut -lGL -lGLU -lXmu -lXext -lX11 -lXi -lm CFLAGS = -g ${TARGET} : ${OBJS} clean: -rm -f *.o *~ -rm -f ${TARGET} --------------------------------- In your case TARGET would be 'main' and SRCS would be main.c ie. TARGET = main SRCS = main.c As far as I know, the order of the libs in LDFLAGS doesn't matter .... BR: Jussi >Sami Kristeri Maisniemi wrote: > > I tried Mesa3D in my home computer (Red Hat Linux 7.0). It seems that Mesa > has been installed, but I am not able to find out which libraries are > needed during linking. > > Compilation succeeds just like that: > > gcc -c main.c > gcc -o main main.o > main.o: In function `display': > main.o(.text+0xf): undefined reference to `glClear' > main.o(.text+0x29): undefined reference to `glColor3f' > main.o(.text+0x36): undefined reference to `glBegin' > main.o(.text+0x4d): undefined reference to `glVertex3f' > main.o(.text+0x64): undefined reference to `glVertex3f' > main.o(.text+0x7b): undefined reference to `glVertex3f' > main.o(.text+0x92): undefined reference to `glVertex3f' > main.o(.text+0x9a): undefined reference to `glEnd' > main.o(.text+0x9f): undefined reference to `glFlush' > main.o: In function `init': > main.o(.text+0xb7): undefined reference to `glClearColor' > main.o(.text+0xc7): undefined reference to `glMatrixMode' > main.o(.text+0xcf): undefined reference to `glLoadIdentity' > main.o(.text+0xf8): undefined reference to `glOrtho' > main.o: In function `main': > main.o(.text+0x117): undefined reference to `glutInit' > main.o(.text+0x124): undefined reference to `glutInitDisplayMode' > main.o(.text+0x139): undefined reference to `glutInitWindowSize' > main.o(.text+0x148): undefined reference to `glutInitWindowPosition' > main.o(.text+0x158): undefined reference to `glutCreateWindow' > main.o(.text+0x16d): undefined reference to `glutDisplayFunc' > main.o(.text+0x175): undefined reference to `glutMainLoop' > collect2: ld returned 1 exit status > make: *** [main] Error 1 > > But as you can see, linking fails because I have not linked all necessary > libraries (actually I have not linked them at all). Somebody can sure send > me an example makefile which includes also necessary libraries. By the > way, does it make matter in which order they are linked? > > Regards, Sami Maisniemi > > ------------------------------------------------------------------------- > Sami Maisniemi tel: +358 9 4580 854 > Helsinki University of Technology mobile: +358 40 7499 088 > Department of Electrical and email: sma...@cc... > Communication Engineering sam...@no... > ------------------------------------------------------------------------- > > _______________________________________________ > Mesa3d-users mailing list > Mes...@li... > http://lists.sourceforge.net/mailman/listinfo/mesa3d-users |