Transmission Zero

freeglut Windows Development Libraries



Introduction

Whilst at the University of Essex, I took a module called “Interactive Computer Graphics” (or EE222 as we referred to it). Half of the course consisted of using POV-Ray to create images, and then putting them together to make a high quality animation. The other half of the course consisted of programming real-time interactive graphics using C and OpenGL, with the help the GLUT library freeglut. I went on to do my final year project, creating a simulation in C++ and OpenGL. It was the first time I had ever written a real application, and I still have a soft spot for GLUT.

For my university project, I used Nate Robins’ GLUT for Win32 project for the Windows build, and freeglut for the Linux build. Windows freeglut binary packages are somewhat hard to find, particularly for the MinGW compiler, so I’ve created suitable packages and put them online. You can use them to build freeglut applications using Microsoft’s Visual C++ and MinGW.

Get the Sample Code

If you’re downloading one of the packages on this page, you’ll probably want some sample code to try it out. If you have Git installed, you can get the sample code for a simple “Hello World” GLUT application by running “git clone https://github.com/TransmissionZero/Hello-GLUT.git”. Alternatively you can download a Hello GLUT source release. You are also encouraged to visit that link to star and watch the repository if you find it useful.

freeglut 3.0.0 MSVC Package

This package contains 32 and 64 bit Windows DLLs, import libraries, and header files, allowing freeglut applications to be written using Microsoft’s Visual C++. The package was built from source code using Visual Studio 2013. The DLL is binary compatible with both my MinGW DLL, and the GLUT for Win32 DLL provided by Nate Robins. The DLL has been tested on Windows 98 SE, Windows ME, Windows 2000, Windows XP, Windows Vista, Windows 7 (64 bit), and Windows 8 (64 bit).

Download freeglut 3.0.0 for MSVC (with PGP signature and PGP key)

freeglut 3.0.0 MinGW Package

This package contains 32 and 64 bit Windows DLLs, import libraries, static libraries, and header files, allowing freeglut applications to be compiled using the MinGW compiler. The package was built from source code using MinGW. The DLL is binary compatible with both my MSVC DLL, and the GLUT for Win32 DLL provided by Nate Robins. The DLL has been tested on Windows 98 SE, Windows ME, Windows 2000, Windows XP, Windows Vista, Windows 7 (64 bit), and Windows 8 (64 bit).

The package should also work with the various IDEs which offer frontends to MinGW / gcc, for example Eclipse, Dev-C++, and Code::Blocks. However, you’ll need to consult the manual for your IDE for instructions on how to do this.

Download freeglut 3.0.0 for MinGW (with PGP signature and PGP key)

For further details on using freeglut with MinGW, see my GLUT MinGW article.

Older freeglut Packages

If you would prefer to download the older 2.4.0, 2.6.0 or 2.8.x packages, they can be found in the older GLUT packages directory. If you need to support Windows NT 4.0, you will need to download one of these packages as freeglut ≥2.8.0 is not compatible with this platform.

Problems?

If you have problems using these packages (compiler / linker errors etc.), please check that you have followed all of the steps in the readme file correctly. Almost all of the problems which are reported with these packages are due to missing a step or not doing it correctly, for example trying to build a 32 bit app against the 64 bit import library. If you have followed all of the steps correctly but your application still fails to build, try building a very simple but functional program (this MinGW freeglut example is good, whether or not you are using MinGW). A lot of people try to build very complex applications after installing these packages, and often the error is with the application code or other library dependencies rather than freeglut.

If you still can’t get it working after trying to compile a simple application, then please get in touch providing as much detail as you can. Please don’t complain to the freeglut guys unless you’re sure it’s a freeglut bug, and have reproduced the issue after compiling freeglut from the latest SVN version—if that’s still the case, I’m sure they would appreciate a bug report or a patch.