This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Linking with OpenGL, glut


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]