freeglut 2.8.0-1.mp for MSVC This package contains freeglut import libraries, headers, and Windows DLLs. These allow 32 and 64 bit GLUT applications to be compiled on Windows using Microsoft Visual C++. For more information on freeglut, visit http://freeglut.sourceforge.net/. Installation Create a folder on your PC which is readable by all users, for example “C:\Program Files\Common Files\MSVC\freeglut\” on a typical Windows system. Copy the “lib\” and “include\” folders from this zip archive to that location. The appropriate freeglut DLL can either be placed in the same folder as your application, or can be installed in a system-wide folder which appears in your %PATH% environment variable. Be careful not to mix the 32 bit DLL up with the 64 bit DLL, as they are not interchangeable. Compiling 32 bit Applications To create a 32 bit freeglut application, create a new Win32 C++ project in MSVC. From the “Win32 Application Wizard”, choose a “Windows application”, check the “Empty project” box, and submit. You’ll now need to configure the compiler and linker settings. Open up the project properties, and select “All Configurations” (this is necessary to ensure our changes are applied for both debug and release builds). Open up the “general” section under “C/C++”, and configure the “include\” folder you created above as an “Additional Include Directory”. If you have more than one GLUT package which contains a “glut.h” file, it’s important to ensure that the freeglut include folder appears above all other GLUT include folders. Now open up the “general” section under “Linker”, and configure the “lib\” folder you created above as an “Additional Library Directory”. A freeglut application depends on the import libraries “freeglut.lib” and “opengl32.lib”, which can be configured under the “Input” section. However, it shouldn’t be necessary to explicitly state these dependencies, since the freeglut headers handle this for you. Now open the “Advanced” section, and enter “mainCRTStartup” as the “Entry Point” for your application. This is necessary because GLUT applications use “main” as the application entry point, not “WinMain”—without it you’ll get an undefined reference when you try to link your application. That’s all of your project properties configured, so you can now add source files to your project and build the application. If you want your application to be compatible with GLUT, you should “#include ”. If you want to use freeglut specific extensions, you should “#include ” instead. Don’t forget to either include the freeglut DLL when distributing applications, or provide your users with some method of obtaining it if they don’t already have it! Compiling 64 bit Applications Building 64 bit applications is almost identical to building 32 bit applications. When you use the configuration manager to add the x64 platform, it’s easiest to copy the settings from the Win32 platform. If you do so, it’s then only necessary to change the “Additional Include Directory” configuration so that it references the directory containing the 64 bit import library rather than the 32 bit one. Problems? If you have problems using these packages (runtime errors etc.), please contact me via http://www.transmissionzero.co.uk/contact/, 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. Changelog 2012–01–15: Release 2.8.0-1.mp • First 2.8.0 MSVC release. I’ve built the package using Visual Studio 2010, and the only change I’ve made is to the DLL version resource—I’ve changed the description so that my MinGW and MSVC builds are distinguishable from each other (and other builds) using Windows Explorer. Martin Payne 2012–01–15 http://www.transmissionzero.co.uk/