Freeglut windows 64 version supported
This commit is contained in:
parent
d7d030a863
commit
0967f32369
|
|
@ -1,7 +1,8 @@
|
||||||
freeglut 2.6.0-3.mp for MSVC
|
freeglut 2.8.0-1.mp for MSVC
|
||||||
|
|
||||||
This package contains a freeglut import library, headers, and a Windows DLL,
|
This package contains freeglut import libraries, headers, and Windows DLLs.
|
||||||
allowing GLUT applications to be compiled on Windows using Microsoft Visual C++.
|
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/.
|
For more information on freeglut, visit http://freeglut.sourceforge.net/.
|
||||||
|
|
||||||
|
|
@ -12,17 +13,16 @@ 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
|
“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 “lib\” and “include\” folders from this zip archive to that location.
|
||||||
|
|
||||||
The freeglut DLL should either be placed in the same folder as your application,
|
The appropriate freeglut DLL can either be placed in the same folder as your
|
||||||
or can be installed in a system-wide folder which appears in your %PATH%
|
application, or can be installed in a system-wide folder which appears in your
|
||||||
environment variable. On a 32 bit Windows system this is typically
|
%PATH% environment variable. Be careful not to mix the 32 bit DLL up with the 64
|
||||||
“C:\Windows\System32\”, and on a 64 bit Windows system this is typically
|
bit DLL, as they are not interchangeable.
|
||||||
“C:\Windows\SysWOW64\”.
|
|
||||||
|
|
||||||
|
|
||||||
Compiling Applications
|
Compiling 32 bit Applications
|
||||||
|
|
||||||
To create a freeglut application, create a new Win32 C++ project in MSVC. From
|
To create a 32 bit freeglut application, create a new Win32 C++ project in MSVC.
|
||||||
the “Win32 Application Wizard”, choose a “Windows application”, check the
|
From the “Win32 Application Wizard”, choose a “Windows application”, check the
|
||||||
“Empty project” box, and submit.
|
“Empty project” box, and submit.
|
||||||
|
|
||||||
You’ll now need to configure the compiler and linker settings. Open up the
|
You’ll now need to configure the compiler and linker settings. Open up the
|
||||||
|
|
@ -36,7 +36,7 @@ freeglut include folder appears above all other GLUT include folders.
|
||||||
Now open up the “general” section under “Linker”, and configure the “lib\”
|
Now open up the “general” section under “Linker”, and configure the “lib\”
|
||||||
folder you created above as an “Additional Library Directory”. A freeglut
|
folder you created above as an “Additional Library Directory”. A freeglut
|
||||||
application depends on the import libraries “freeglut.lib” and “opengl32.lib”,
|
application depends on the import libraries “freeglut.lib” and “opengl32.lib”,
|
||||||
which can be configured under the “Input” section, however it shouldn’t be
|
which can be configured under the “Input” section. However, it shouldn’t be
|
||||||
necessary to explicitly state these dependencies, since the freeglut headers
|
necessary to explicitly state these dependencies, since the freeglut headers
|
||||||
handle this for you. Now open the “Advanced” section, and enter “mainCRTStartup”
|
handle this for you. Now open the “Advanced” section, and enter “mainCRTStartup”
|
||||||
as the “Entry Point” for your application. This is necessary because GLUT
|
as the “Entry Point” for your application. This is necessary because GLUT
|
||||||
|
|
@ -53,6 +53,16 @@ or provide your users with some method of obtaining it if they don
|
||||||
have it!
|
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?
|
Problems?
|
||||||
|
|
||||||
If you have problems using these packages (runtime errors etc.), please contact
|
If you have problems using these packages (runtime errors etc.), please contact
|
||||||
|
|
@ -65,32 +75,15 @@ bug report or a patch.
|
||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
2010–01–22: Release 2.6.0-3.mp
|
2012–01–15: Release 2.8.0-1.mp
|
||||||
|
|
||||||
• Rebuilt the DLL with a minimum OS version of 4.00, so it can work under
|
• First 2.8.0 MSVC release. I’ve built the package using Visual Studio 2010,
|
||||||
Windows NT 4 and Windows 98. Previously it required at least Windows 2000.
|
|
||||||
|
|
||||||
2009-12-22: Release 2.6.0-2.mp
|
|
||||||
|
|
||||||
• Updated documentation to take into account the fact that 32 bit DLLs should
|
|
||||||
be placed in the “SysWOW64” folder on 64 bit Windows versions, rather than
|
|
||||||
“System32”.
|
|
||||||
• Some parts of the documentation rewritten to (hopefully) be easier to
|
|
||||||
follow.
|
|
||||||
• Updated the “freeglut_std.h” file to stay aligned with my MinGW package.
|
|
||||||
There were some MinGW cross-compilation issues under Linux related with the
|
|
||||||
fact that the #include of “Windows.h” didn’t match the case of the header
|
|
||||||
file “windows.h”.
|
|
||||||
|
|
||||||
2009-11-29: Release 2.6.0-1.mp
|
|
||||||
|
|
||||||
• First 2.6.0 MSVC release. I’ve built the package using Visual Studio 2008,
|
|
||||||
and the only change I’ve made is to the DLL version resource—I’ve changed
|
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
|
the description so that my MinGW and MSVC builds are distinguishable from
|
||||||
each other (and other builds) using Windows Explorer.
|
each other (and other builds) using Windows Explorer.
|
||||||
|
|
||||||
|
|
||||||
Martin Payne
|
Martin Payne
|
||||||
2010–01–22
|
2012–01–15
|
||||||
|
|
||||||
http://www.transmissionzero.co.uk/
|
http://www.transmissionzero.co.uk/
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -38,6 +38,12 @@
|
||||||
#define GLUT_KEY_NUM_LOCK 0x006D
|
#define GLUT_KEY_NUM_LOCK 0x006D
|
||||||
#define GLUT_KEY_BEGIN 0x006E
|
#define GLUT_KEY_BEGIN 0x006E
|
||||||
#define GLUT_KEY_DELETE 0x006F
|
#define GLUT_KEY_DELETE 0x006F
|
||||||
|
#define GLUT_KEY_SHIFT_L 0x0070
|
||||||
|
#define GLUT_KEY_SHIFT_R 0x0071
|
||||||
|
#define GLUT_KEY_CTRL_L 0x0072
|
||||||
|
#define GLUT_KEY_CTRL_R 0x0073
|
||||||
|
#define GLUT_KEY_ALT_L 0x0074
|
||||||
|
#define GLUT_KEY_ALT_R 0x0075
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window
|
* GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window
|
||||||
|
|
@ -121,6 +127,7 @@ FGAPI void FGAPIENTRY glutExit ( void );
|
||||||
* Window management functions, see freeglut_window.c
|
* Window management functions, see freeglut_window.c
|
||||||
*/
|
*/
|
||||||
FGAPI void FGAPIENTRY glutFullScreenToggle( void );
|
FGAPI void FGAPIENTRY glutFullScreenToggle( void );
|
||||||
|
FGAPI void FGAPIENTRY glutLeaveFullScreen( void );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Window-specific callback functions, see freeglut_callbacks.c
|
* Window-specific callback functions, see freeglut_callbacks.c
|
||||||
|
|
@ -166,6 +173,17 @@ FGAPI void FGAPIENTRY glutSolidCylinder( GLdouble radius, GLdouble height, GL
|
||||||
typedef void (*GLUTproc)();
|
typedef void (*GLUTproc)();
|
||||||
FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName );
|
FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Multi-touch/multi-pointer extensions
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define GLUT_HAS_MULTI 1
|
||||||
|
|
||||||
|
FGAPI void FGAPIENTRY glutMultiEntryFunc( void (* callback)( int, int ) );
|
||||||
|
FGAPI void FGAPIENTRY glutMultiButtonFunc( void (* callback)( int, int, int, int, int ) );
|
||||||
|
FGAPI void FGAPIENTRY glutMultiMotionFunc( void (* callback)( int, int, int ) );
|
||||||
|
FGAPI void FGAPIENTRY glutMultiPassiveFunc( void (* callback)( int, int, int ) );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Joystick functions, see freeglut_joystick.c
|
* Joystick functions, see freeglut_joystick.c
|
||||||
*/
|
*/
|
||||||
|
|
@ -196,6 +214,12 @@ FGAPI void FGAPIENTRY glutInitContextVersion( int majorVersion, int minorVers
|
||||||
FGAPI void FGAPIENTRY glutInitContextFlags( int flags );
|
FGAPI void FGAPIENTRY glutInitContextFlags( int flags );
|
||||||
FGAPI void FGAPIENTRY glutInitContextProfile( int profile );
|
FGAPI void FGAPIENTRY glutInitContextProfile( int profile );
|
||||||
|
|
||||||
|
/* to get the typedef for va_list */
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
FGAPI void FGAPIENTRY glutInitErrorFunc( void (* vError)( const char *fmt, va_list ap ) );
|
||||||
|
FGAPI void FGAPIENTRY glutInitWarningFunc( void (* vWarning)( const char *fmt, va_list ap ) );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GLUT API macro definitions -- the display mode definitions
|
* GLUT API macro definitions -- the display mode definitions
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Define FREEGLUT_LIB_PRAGMAS to 1 to include library
|
/* Define FREEGLUT_LIB_PRAGMAS to 1 to include library
|
||||||
* pragmas or to 1 to exclude library pragmas.
|
* pragmas or to 0 to exclude library pragmas.
|
||||||
* The default behavior depends on the compiler/platform.
|
* The default behavior depends on the compiler/platform.
|
||||||
*/
|
*/
|
||||||
# ifndef FREEGLUT_LIB_PRAGMAS
|
# ifndef FREEGLUT_LIB_PRAGMAS
|
||||||
|
|
@ -57,19 +57,15 @@
|
||||||
# ifndef WIN32_LEAN_AND_MEAN
|
# ifndef WIN32_LEAN_AND_MEAN
|
||||||
# define WIN32_LEAN_AND_MEAN 1
|
# define WIN32_LEAN_AND_MEAN 1
|
||||||
# endif
|
# endif
|
||||||
|
# ifndef NOMINMAX
|
||||||
# define NOMINMAX
|
# define NOMINMAX
|
||||||
|
# endif
|
||||||
# include <windows.h>
|
# include <windows.h>
|
||||||
|
|
||||||
/* Windows static library */
|
/* Windows static library */
|
||||||
# ifdef FREEGLUT_STATIC
|
# ifdef FREEGLUT_STATIC
|
||||||
|
|
||||||
# define FGAPI
|
#error Static linking is not supported with this build. Please remove the FREEGLUT_STATIC preprocessor directive, or download the source code from http://freeglut.sf.net/ and build against that.
|
||||||
# define FGAPIENTRY
|
|
||||||
|
|
||||||
/* Link with Win32 static freeglut lib */
|
|
||||||
# if FREEGLUT_LIB_PRAGMAS
|
|
||||||
# pragma comment (lib, "freeglut_static.lib")
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Windows shared library (DLL) */
|
/* Windows shared library (DLL) */
|
||||||
# else
|
# else
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue