libglut is missing library for MinGW static linking

Matt D. codespunk@gmail.com
Thu Sep 27 13:42:00 GMT 2018


libglut-devel provides libglut.a and libglut.dll.a but linking libglut.a 
with either "-lglut" or "-lglut.dll" both depend on either cygglut-3.dll 
or libglut-0.dll respectively when compiling for Cygwin or MinGW.

I understand that this isn't a big deal for Cygwin binaries as it's not 
possible to statically link those executables anyways. But glut has the 
ability to link statically and this is of benefit on Windows with MinGW 
for convenience and ease of distribution.

To perform static linking against glut, I have to download 
"libfreeglut_static.a" as provided by http://freeglut.sourceforge.net. I 
can still use libglut but the static library provides the missing 
dependencies to mitigate the need for the shared library.

I can compile as such:

i686-w64-mingw32-g++.exe -DFREEGLUT_STATIC main.cpp -lglut 
-lfreeglut_static -lgdi32 -lwinmm -lglu32 -lopengl32 -L. -oa.out

The resulting executable is completely static and stand-alone and does 
not require a shared library. The key here is the define 
"FREEGLUT_STATIC" along with libfreeglut_static provided from the 
freeglut website.

I don't know what Cygwin's policy is on providing static libraries for 
MinGW but this is a very good candidate as it already has all of the 
necessary declarations defined.


Matt D.

--
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