diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2010-12-20 19:48:09 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2010-12-20 19:48:09 +0000 |
| commit | 8bf8cdd52438a5cac97b525a8c83d6aadb2e0ee5 (patch) | |
| tree | 4e0b24147cbb8d87cf2e3413660b38838daf8010 /README.MSWindows.txt | |
| parent | 35a5285a9dbc9a4b918419cb5a5abd8b65cab829 (diff) | |
Merged README.win32 into README.MSWindows.txt. I try to avoid the 'WIN32' label because we supprt 64 bits as well... .
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8081 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'README.MSWindows.txt')
| -rw-r--r-- | README.MSWindows.txt | 234 |
1 files changed, 215 insertions, 19 deletions
diff --git a/README.MSWindows.txt b/README.MSWindows.txt index df169cd43..67a2bb8ef 100644 --- a/README.MSWindows.txt +++ b/README.MSWindows.txt @@ -7,14 +7,16 @@ README.MSWindows.txt - 2010-10-25 - Building FLTK under Microsoft Windows ========== 1 INTRODUCTION - 2 HOW TO BUILD FLTK USING MinGW - 2.1 Prerequisites - 2.2 Downloading and Unpacking - 2.3 Configuring FLTK - 2.4 Building FLTK - 2.5 Testing FLTK - 2.6 Installing FLTK - 2.7 Creating new Projects + 2 HOW TO BUILD FLTK USING MinGW/Cygwin + 2.1 The Tools + 2.2 Recommended Command Line Build Environment + 2.3 Prerequisites + 2.4 Downloading and Unpacking + 2.5 Configuring FLTK + 2.6 Building FLTK + 2.7 Testing FLTK + 2.8 Installing FLTK + 2.9 Creating new Projects 3 HOW TO BUILD FLTK USING VISUAL STUDIO 2008 3.1 Prerequisites 3.2 Downloading and Unpacking @@ -31,25 +33,129 @@ README.MSWindows.txt - 2010-10-25 - Building FLTK under Microsoft Windows 4.5 Testing FLTK 4.6 Installing FLTK 4.7 Creating new Projects - 5 DOCUMENT HISTORY + 5 FREQUENTLY ASKED QUESTIONS + 7 LINKS + 6 DOCUMENT HISTORY INTRODUCTION ============== -FLTK currently supports the following development environments on the Microsoft -Windows platform: +FLTK 1.3 and later is officially supported on Windows (2000,) 2003, +XP, and later. Older Windows versions are not officially supported, +but may still work. The main reason is that the OS version needs +to support UTF-8. FLTK 1.3 is known to work on Windows 7 and Vista. - - MinGW gnu command line tools - - CygWin gnu command line tools - - VisualStudio 2008 - - VisualStudio 2010 - -CAUTION: Libraries built by any of these environments can not be mixed! +FLTK currently supports the following development +environments on the Windows platform: + - Free Microsoft Visual C++ 2008 Express and Visual + C++ 2010 Express using the supplied workspace and + project files. Older and the commercial versions can + be used as well, if they can open the project files. + Be sure to get your service packs! - HOW TO BUILD FLTK USING MinGW -=============================== + The project files can be found in the ide/ directory. + Please read ide/README.IDE for more info about this. + + - GNU toolsets (Cygwin or MinGW) hosted on Windows. + +CAUTION: Libraries built by any one of these environments can not be mixed +with object files from any other environment! + + + HOW TO BUILD FLTK USING MinGW and Cygwin +========================================== + +This chapter 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 +Unix-like POSIX facilities for programs being ported to the +Windows environment (Win32 or WinNT). Cygwin also supplies +a very Unix-like build environment for Windows, including +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). +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 +the Cygwin DLL. Native Windows programs that do not require +the Cygwin DLL (compiled and linked with the "-mno-cygwin" +option) may be released under any license freely. + +Note: Since December 2009, there is a new gcc 4.x compiler +that doesn't support the -mno-cygwin option anymore. You +must use the older gcc-3 compiler instead. + + +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. 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 note. In particular, +check out their license conditions carefully before use. + + + The Tools +----------- + +There are currently three main configurations supported by +FLTK with the GNU tools: + + 1. Cygwin: Built using the Cygwin toolset and using the + Unix-like POSIX compatibility layer provided by the + Cygwin DLL. + + 2. Cygwin using the "-mno-cygwin" option: Built using + the Cygwin toolset but not using the Cygwin DLL. + + 3. MinGW: Built using the MinGW utilities, compiler and + tools. This is, in many aspects, analogous to the + Cygwin "-mno-cygwin" option. + + + Recommended Command Line Build Environment +-------------------------------------------- + +Our recommendation is to: + + 1. Get the current Cygwin toolset. + + This can either produce executables that do or do not + rely on the Cygwin DLL (check licensing) at your + choice. + + 2. Get the latest MinGW toolset. It is recommended that + you also get the MSYS shell and the msysDTK developer + toolset. + + This will only produce normal Windows native + executables without any Unix or POSIX compatibility + layer. + + + See the links section below for more information. + +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. Prerequisites @@ -407,7 +513,97 @@ Now add the generated .cxx file to your project as well. Whenever the .fl file is changed, the corresponding .cxx file will be recompiled. + + FREQUENTLY ASKED QUESTIONS +============================ + + + Why does a console window appear when I run my progrem? +--------------------------------------------------------- + +Windows has a flag that determines whether an application +runs in the foreground with a console or in the background +without a console. Use the "-mwindows" option to make your +application run in the background and "-mconsole" to run in +the foreground. + +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". The same applies to Cygwin.) + + + How do I get OpenGL to work? +------------------------------ + +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". 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. + + + + LINKS +======= + +The following links may be of use: + +1. Main Cygwin homepage: + + http://www.cygwin.com/ + +2. Main Mingw homepage: + + http://www.mingw.org/ + + In particular look for the MinGW FAQ at this link for + a lot of useful Mingw-native development + documentation. + + +3. Check out the FLTK newsgroups at the FLTK homepage: + + http://www.fltk.org/ + + Its archival search facilities are EXTREMELY useful + to check back through previous problems with this + sort of configuration before posting new questions. + +4. Carl Thompson (member of the core team responsible + for FLTK): + + http://www.carlthompson.net/ + + A pre-bundled development toolset tailored for use + with an earlier version of FLTK may be found at: + + http://www.carlthompson.net/cygwin/ + + 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/ + +6. OpenGL page - for OpenGL and GLUT libs + + http://www.opengl.org/ + + + DOCUMENT HISTORY ================== Oct 25 2010 - matt: restructured entire document and verified instructions +Dec 20 2010 - matt: merged with README.win32 |
