summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2007-05-17 16:02:09 +0000
committerMatthias Melcher <fltk@matthiasm.com>2007-05-17 16:02:09 +0000
commit65e4576d40966dc3d9ade90fd2bc830bc6a02e38 (patch)
tree39c442f11d095b6ce88ece2580a3193664f36419
parentdba81e6fca80090a19d0ed2d9b88d7824232b88a (diff)
Updated version of README.win32 by Ian (STR #1683)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5840 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--README.win32162
1 files changed, 66 insertions, 96 deletions
diff --git a/README.win32 b/README.win32
index 04f083dce..f4039f769 100644
--- a/README.win32
+++ b/README.win32
@@ -1,5 +1,6 @@
-README.win32 - 10/03/2002 - Building FLTK under Windows
--------------------------------------------------------
+README.win32 - Building FLTK under Windows
+------------------------------------------
+Last Update: May 2007 for release 1.1.8
INTRODUCTION
@@ -12,18 +13,26 @@ INTRODUCTION
FLTK currently supports the following development
environments on the Windows platform:
- - Microsoft Visual C++ 6.0 using the supplied workspace
- and project files. Be sure to get your service packs!
+ - Microsoft Visual C++ 6.0, VC2005 and VC.NET using the
+ supplied workspace and project files. Be sure to get
+ your service packs!
- - Borland C++ Builder 5 using the supplied IDE file.
+ - Borland C++ Builder 5 and 6 using the supplied IDE
+ files. These files are not as actively maintained as
+ the VC and GNU versions, so may not work for you.
+
+ - Watcom. There is a partial solution for the Watcom
+ toolchain. It is no longer actively maintained.
- GNU toolsets (Cygwin or MinGW) hosted on Windows
9x/2000/NT/XP.
- This document gives a brief overview of compiling and using
- FLTK with the Cygwin and MinGW compiler toolkits. Both
- toolkits provide a build environment based around the GNU
- C/C++ compiler.
+ This remainder of this document gives a brief overview of
+ compiling and using FLTK with the Cygwin and MinGW compiler
+ toolkits. Both toolkits provide a build environment based
+ around the GNU C/C++ compiler. Further information is
+ available from the FLTK website at http://www.fltk.org, such
+ as this Howto note: http://www.fltk.org/articles.php?L598
The Cygwin build environment supplies a library (the Cygwin
DLL) that is primarily intended to provide a number of
@@ -33,7 +42,7 @@ INTRODUCTION
the "BASH" Bourne-compatible shell and all of the standard
Unix file utilities (ls, cat, grep, etc.).
- Cygwin is developed by Cygnus (now part of RedHat, Inc).
+ Cygwin is developed by Cygnus (now part of RedHat, Inc).
Although provided for free download under the GPL,
distributing programs that require the Cygwin DLL under a
license other than the GPL requires a commercial license for
@@ -43,21 +52,23 @@ INTRODUCTION
The MinGW distribution (Minimalist GNU for Windows) provides
a similar toolset but geared solely towards native Windows
- development without the Unix-like POSIX library. The lack
- of any libraries under the GPL or any other restrictive
- license means that programs built with the MinGW environment
- may always be released under any license freely.
+ development without the Unix-like POSIX library. The lack of
+ any libraries under the GPL or any other restrictive license
+ means that programs built with the MinGW environment may
+ always be released under any license freely. MinGW also
+ supplies a Unix-like build environment for Windows,
+ including MSYS (a Bourne-compatible shell) and the standard
+ Unix file utilities (ls, cat, grep, etc.)
If you are not familiar with these GNU-like toolkits please
- refer to the links section later in this section. In
- particular, check out their license conditions carefully
- before use.
+ refer to the links section later in this note. In particular,
+ check out their license conditions carefully before use.
THE TOOLS
There are currently three main configurations supported by
- FLTK:
+ FLTK with the GNU tools:
1. Cygwin: Built using the Cygwin toolset and using the
Unix-like POSIX compatibility layer provided by the
@@ -66,46 +77,35 @@ THE TOOLS
2. Cygwin using the "-mno-cygwin" option: Built using
the Cygwin toolset but not using the Cygwin DLL.
- 3. MinGW: Mainly based upon the MinGW utilities,
- compiler and tools but currently needs additional
- tools from the Cygwin distribution (make.exe and
- sh.exe).
+ 3. MinGW: Built using the MinGW utilities, compiler and
+ tools. This is, in many aspects, analogous to the
+ Cygwin "-mno-cygwin" option.
RECOMMENDED BUILD ENVIRONMENTS
Our recommendation is to:
- 1. Get the current Cygwin toolset (June 20, 2000 or
- later).
-
- Can produce executables that do or do not rely on the
- Cygwin DLL (check licensing)-- your choice. No
- supplementary MinGW files are required.
+ 1. Get the current Cygwin toolset.
- 2. Get the latest full MinGW toolset and add Cygwin
- "make.exe" and "sh.exe" to it.
+ This can either produce executables that do or do not
+ rely on the Cygwin DLL (check licensing) at your
+ choice.
- Will only normal Windows native executables without
- any Unix or POSIX compatibility.
+ 2. Get the latest MinGW toolset. It is recommended that
+ you also get the MSYS shell and the msysDTK developer
+ toolset.
- 3. Get a pre-built combined toolset that has been tested
- with FLTK.
+ This will only produce normal Windows native
+ executables without any Unix or POSIX compatibility
+ layer.
- Carl Thompson has provided a set based upon the B20.1
- Cygwin release and ~Feb 2000 version of Mingw which
- has been successfully used for FLTK.
-
- This will provide several Cygwin utilities and the
- MinGW compiler. Compilation will produce executables
- not reliant on the Cygwin DLL and so are freely
- redistributable under any license you choose.
See the links section below for more information.
- All three options can provide windows-native executables and
- 1 can provide a Unix-like POSIX portability layer that is
- reliant on a GPLed library.
+ Either option can generate windows-native executables and
+ option 1 can provide a Unix-like POSIX portability layer that
+ is reliant on a GPLed library.
See the later sections for detailed information about using
one of these configurations.
@@ -116,7 +116,7 @@ LINKS
1. Main Cygwin homepage:
- http://sourceware.cygnus.com/cygwin/
+ http://www.cygwin.com/
2. Main Mingw homepage:
@@ -126,23 +126,8 @@ LINKS
a lot of useful Mingw-native development
documentation.
- 3. Mumit Khan's homepage (chief maintainer and driving
- force behing MinGW):
-
- http://www.xraylith.wisc.edu/~khan/software/gnu-win32/index.html
-
- This page provides descriptions of Cygwin, Mingw and
- several other similar packages. This information can
- sometimes lag the current release however.
-
- In particular the insights and recommendations for
- using Cygwin for MinGW compilation are very useful:
-
- http://www.xraylith.wisc.edu/~khan/software/gnu-win32/mno-cygwin-howto.txt
- (Some of this information may be outdated and inaccurate!)
-
- 4. Check out the FLTK newsgroups at the FLTK homepage:
+ 3. Check out the FLTK newsgroups at the FLTK homepage:
http://www.fltk.org/
@@ -150,24 +135,28 @@ LINKS
to check back through previous problems with this
sort of configuration before posting new questions.
- 5. Carl Thompson (member of the core team responsible
+ 4. Carl Thompson (member of the core team responsible
for FLTK):
http://www.carlthompson.net/
- Currently a pre-bundled development toolset may be
- found at:
+ A pre-bundled development toolset tailored for use
+ with an earlier version of FLTK may be found at:
http://www.carlthompson.net/cygwin/
- 6. GNU Compiler Collection (GCC) compiler homepage:
+ However, this has not been actively maintained since
+ the Cygwin and MinGW offerings are now more complete
+ these days.
+
+ 5. GNU Compiler Collection (GCC) compiler homepage:
http://gcc.gnu.org/
- 7. OpenGL page - for OpenGL and GLUT libs
+ 6. OpenGL page - for OpenGL and GLUT libs
http://www.opengl.org/
-
+
BUILDING FLTK WITH CYGWIN OR MINGW
@@ -186,51 +175,32 @@ WHY DOES A CONSOLE WINDOW APPEAR WHEN I RUN MY PROGRAM
Keep in mind that a windows application cannot send output
to stdout, even if you run it from an existing console
application.
+ (Note: A special case of this exists if running a MinGW
+ application from the command line of an MSYS shell, when an
+ application is able to write to stdout, even if compiled with
+ "-mwindows".)
HOW DO I GET OPENGL TO WORK?
- The CygWin build automatically supports OpenGL.
-
- The MingW build disables OpenGL by default, since the
- standard MingW distribution lacks the OpenGL header files.
+ Both builds should automatically support OpenGL.
The configuration file config.h has a number of settings
which control compile-time compilation. One such setting is
- "HAVE_GL" . By default this is set to 0 to disable Open GL
- operation. Changing the line in config.h to
+ "HAVE_GL". This may be set to 0 to disable Open GL operation.
+ Changing the line in config.h to
#define HAVE_GL 1
will change this to compile and link in OpenGL.
- In order for it to work you will need a few OpenGL headers
- for both Cygwin and MinGW. These are not part of the
- official distributions of Cygwin or MinGW, so they need to
- be added. The following page provides a ZIP file containing
- the OpenGL headers:
- http://www.carlthompson.net/fltk/
- These should be put in a "GL" subdirectory somewhere in your
- compiler's search path.
- You will also need an OpenGL library and an additional set
- of GLUT libraries.
- The OpenGL files are most likely already part of your
- operating system, and the GLUT libraries are in current
- versions of MinGW and Cygwin or may be found at:
- http://www.opengl.org/
- Do a search for 'GLUT windows' and the first couple of
- results will take you to the latest GLUT and OpenGL libs for
- Windows.
- The binaries (DLLs normally) need to be put somewhere on the
- system PATH. Consult the install documentation on the site
- for info.
- Many programs use OpenGL and GLUT so you may already have
- them on your system.
+
+