Linking with OpenGL, glut

Andre Bleau bleau@igb.umontreal.ca
Wed Nov 13 08:07:00 GMT 2002


Braden McDaniel wrote:
>I'm having some trouble with the directions in README.txt in the OpenGL
>docs. They indicate one should use "-lopengl32"; however, that's not working
>for me. Here is the excerpt from my config.log:
>---
>configure:16198: gcc -o conftest.exe -g -O2 -I/usr/X11R6/include
>conftest.c -lopengl32 -L/usr/X11R6/lib  -lm  >&5

There seems to be some misunderstanding here. The OpenGL package is for 
producing native Windows programs, not X11-dependant programs. Do not use
-I/usr/X11R6/include , -L/usr/X11R6/lib , and -lm if you want to use that 
package.


>/cygdrive/c/DOCUME~1/Braden/LOCALS~1/Temp/ccef6CMT.o(.text+0x1d): In
>function `main':
>/home/Braden/src/openvrml/openvrml/BUILD/configure:16190: undefined
>reference to `_glBegin'

This shows that you are not including the right GL headers. If you were 
pulling the right headers but linking incorrectly, the message would have 
been: " undefined reference to `_glBegin@4' ".

>collect2: ld returned 1 exit status
>configure:16201: $? = 1
>configure: failed program was:
>#line 16170 "configure"
>#include "confdefs.h"
>
># ifdef _WIN32
>#   include <windows.h>
># endif
># ifdef HAVE_OPENGL_GL_H
>#   include <OpenGL/gl.h>
># else
>#   include <GL/gl.h>
># endif
>
>#ifdef F77_DUMMY_MAIN
>#  ifdef __cplusplus
>      extern "C"
>#  endif
>    int F77_DUMMY_MAIN() { return 1; }
>#endif
>int
>main ()
>{
>glBegin(0)
>   ;
>   return 0;
>}
>---

The following conftest.c programs compiles and link correctly:

#include <GL/gl.h>
int
main ()
{
glBegin(0)
   ;
   return 0;
}

gcc -o conftest -g -O2 conftest.c -lopengl32


>There's a similar problem with using -lglu32. However, -lGL works and -lGLU
>works. So I wouldn't be complaining at all if I could figure out how to link
>with glut. Neither "-lglut32 -lGLU -lGL" nor "-lglut -lGLU -lGL" works. Any
>ideas?
>
>Braden
>

Again -lglut32 is for linking native Windows programs. Use the right 
include statements and the right headers:

#include <GL/gl.h>
#include <GL/glut.h>

Link with -lglut32 -lglu32 -lopengl32 .

-lGL and -lGLU are for X11 dependant programs. There is no Glut library in 
Cygwin's X11R6 distribution.






André Bleau, Cygwin's OpenGL package maintainer.

email: bleau at igb dot umontreal dot ca
(Fight SPAM: encode your email-address)

Please address all questions and problem reports about Cygwin's OpenGL 
package to cygwin@cygwin.com .


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list