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,
|
||||
allowing GLUT applications to be compiled on Windows using Microsoft Visual C++.
|
||||
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/.
|
||||
|
||||
|
|
@ -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
|
||||
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,
|
||||
or can be installed in a system-wide folder which appears in your %PATH%
|
||||
environment variable. On a 32 bit Windows system this is typically
|
||||
“C:\Windows\System32\”, and on a 64 bit Windows system this is typically
|
||||
“C:\Windows\SysWOW64\”.
|
||||
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 Applications
|
||||
Compiling 32 bit Applications
|
||||
|
||||
To create a freeglut application, create a new Win32 C++ project in MSVC. From
|
||||
the “Win32 Application Wizard”, choose a “Windows application”, check the
|
||||
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
|
||||
|
|
@ -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\”
|
||||
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
|
||||
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
|
||||
|
|
@ -53,6 +53,16 @@ or provide your users with some method of obtaining it if they don
|
|||
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
|
||||
|
|
@ -65,32 +75,15 @@ bug report or a patch.
|
|||
|
||||
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
|
||||
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,
|
||||
• 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
|
||||
2010–01–22
|
||||
2012–01–15
|
||||
|
||||
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_BEGIN 0x006E
|
||||
#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
|
||||
|
|
@ -121,6 +127,7 @@ FGAPI void FGAPIENTRY glutExit ( void );
|
|||
* Window management functions, see freeglut_window.c
|
||||
*/
|
||||
FGAPI void FGAPIENTRY glutFullScreenToggle( void );
|
||||
FGAPI void FGAPIENTRY glutLeaveFullScreen( void );
|
||||
|
||||
/*
|
||||
* Window-specific callback functions, see freeglut_callbacks.c
|
||||
|
|
@ -166,6 +173,17 @@ FGAPI void FGAPIENTRY glutSolidCylinder( GLdouble radius, GLdouble height, GL
|
|||
typedef void (*GLUTproc)();
|
||||
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
|
||||
*/
|
||||
|
|
@ -196,6 +214,12 @@ FGAPI void FGAPIENTRY glutInitContextVersion( int majorVersion, int minorVers
|
|||
FGAPI void FGAPIENTRY glutInitContextFlags( int flags );
|
||||
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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
*/
|
||||
|
||||
/* 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.
|
||||
*/
|
||||
# ifndef FREEGLUT_LIB_PRAGMAS
|
||||
|
|
@ -57,19 +57,15 @@
|
|||
# ifndef WIN32_LEAN_AND_MEAN
|
||||
# define WIN32_LEAN_AND_MEAN 1
|
||||
# endif
|
||||
# define NOMINMAX
|
||||
# ifndef NOMINMAX
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
|
||||
/* Windows static library */
|
||||
# ifdef FREEGLUT_STATIC
|
||||
|
||||
# define FGAPI
|
||||
# define FGAPIENTRY
|
||||
|
||||
/* Link with Win32 static freeglut lib */
|
||||
# if FREEGLUT_LIB_PRAGMAS
|
||||
# pragma comment (lib, "freeglut_static.lib")
|
||||
# endif
|
||||
#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.
|
||||
|
||||
/* Windows shared library (DLL) */
|
||||
# else
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue