From 65e4576d40966dc3d9ade90fd2bc830bc6a02e38 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Thu, 17 May 2007 16:02:09 +0000 Subject: 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 --- README.win32 | 162 ++++++++++++++++++++++++----------------------------------- 1 file 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. + + -- cgit v1.2.3