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