What is the purpose of libglut32?

Jon Turney jon.turney@dronecode.org.uk
Thu Sep 27 13:43:00 GMT 2018


On 27/09/2018 13:48, Matt D. wrote:
> Does anyone know what libglut32 is used for? It comes as part of 
> "w32api-runtime" and "mingw64-i686-runtime" and is installed into:
> 
> usr/lib/w32api/libglut32.a
> 
> and
> 
> usr/i686-w64-mingw32/sys-root/mingw/lib/libglut32.a
> 
> I haven't been able to find a use for this as attempting to link with it 
> produces the following errors:
> 
> undefined reference to `_imp____glutInitWithExit@12'
> undefined reference to `_imp____glutCreateWindowWithExit@8'
> undefined reference to `_imp____glutCreateMenuWithExit@8'
> 
> It is possible to link with it if -DGLUT_DISABLE_ATEXIT_HACK is used to 
> skip these declarations but then it depends upon glut32.dll which isn't 
> provided by any package. How can libglut32 be used for anything if it is 
> missing its binary dependency? Is this library unused? Is the glut32.dll 
> dependency an error?

Fascinating.

So: the corresponding glut32.dll used to be provided by the 'opengl' 
package [1],[2]

[1] https://sourceware.org/ml/cygwin-announce/2012-06/msg00003.html
[2] https://sourceware.org/ml/cygwin-announce/2008-12/msg00005.html

I have no idea for what historical reason this is split up, with the 
import lib in w32api, but I guess we don't need that there anymore.

If you need glut for a non-cygwin application, I'd suggest using the 
cross freeglut packages mingw64-i686-freeglut and mingw64-x86_64-freeglut.

If you need glut for a cygwin application which uses GLX, use the 
libglut-devel.

If you need glut for a cygwin application which uses WGL, you'll have to 
build you own (although a package for this would be great)

This situation is briefly touched upon in [3], although I see that needs 
updating a bit.

[3] https://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-opengl-link-problems


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list