1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
|
README - Fast Light Tool Kit (FLTK) Version 1.4.4
--------------------------------------------------
What is FLTK?
The Fast Light Tool Kit (FLTK) is a cross-platform C++ GUI toolkit
for UNIX®/Linux® (X11 or Wayland), Microsoft® Windows®, and macOS®.
FLTK provides modern GUI functionality without bloat and supports
3D graphics via OpenGL® and its built-in GLUT emulation.
It was originally developed by Mr. Bill Spitzak and is currently
maintained by a small group of developers across the world with
a central repository on GitHub.
https://www.fltk.org/
https://github.com/fltk/fltk/
Licensing
FLTK comes with complete free source code. FLTK is available
under the terms of the GNU Library General Public License with
exceptions (e.g. for static linking).
Contrary to popular belief, it can be used in commercial
software! (Even Bill Gates could use it.)
Online Documentation
The documentation in HTML and PDF forms can be created by
Doxygen from the source files. HTML and PDF versions of this
documentation are also available from the FLTK web site at:
https://www.fltk.org/documentation.php
Building and Installing FLTK under Unix and macOS
Beginning with FLTK 1.4 the main and recommended build system
is CMake. CMake is a "build system generator" and can be used
to create Makefile's, Ninja build files, Xcode (macOS) and
Visual Studio (Windows) IDE files and many more.
Please see README.CMake.txt for further information.
Alternatively FLTK can be built with autoconf (configure) + make,
the build system used in FLTK 1.3 and earlier versions. Please
be aware that the following information may be outdated
because it is no longer actively maintained.
Note: autoconf + configure + make is still supported in FLTK 1.4.x
but will be removed in FLTK 1.5.0.
In most cases you can just type "make". This will run configure
with the default (no) options and then compile everything.
FLTK uses GNU autoconf to configure itself for your UNIX
platform. The main things that the configure script will
look for are the X11, OpenGL (or Mesa), and JPEG header and
library files. Make sure that they are in the standard
include/library locations. If they aren't you need to
define the CFLAGS, CXXFLAGS, and LDFLAGS environment variables.
If you aren't using "gcc", "g++", "c++", or "CC" for your
C++ compiler, you'll also need to set the CXX environment
variable. Similarly, if you aren't using "gcc" or "cc" for
your C compiler you'll need to set the CC environment variable.
You can run configure yourself to get the exact setup you
need. Type "./configure <options>". Options include:
--help - display help and exit
--enable-cygwin - Enable the Cygwin DLL (Cygwin only)
--enable-debug - Enable debugging code & symbols
--disable-forms - Disable generation of the forms library
--disable-gl - Disable OpenGL support
--enable-shared - Enable generation of shared libraries
--enable-threads - Enable multithreading support
--enable-xft - Enable the Xft library (anti-aliased fonts)
--enable-pango - Draw text with the pango library
--disable-wayland - Force building for X11 only (no Wayland support)
--enable-x11 - Force building for X11 (macOS and Cygwin)
--disable-x11 - Force building for Wayland only (Linux/Unix)
--bindir=/path - Set the location for executables
[default = /usr/local/bin]
--libdir=/path - Set the location for libraries
[default = /usr/local/lib]
--includedir=/path - Set the location for include files.
[default = /usr/local/include]
--prefix=/dir - Set the directory prefix for files
[default = /usr/local]
For more options please see './configure --help'.
When the configure script is done you can just run the
"make" command. This will build the library, FLUID tool, and
all of the test programs.
To install the library, become root and type "make
install". This will copy the "fluid" executable to
"bindir", the header files to "includedir", and the library
files to "libdir".
To install additional files and icons to be used by the main
desktop environments such as KDE, GNOME and XFCE, you will also
need to run "make install-desktop" as root.
Git Users
If you've just checked out a fresh copy of FLTK from Git (GitHub),
you need to switch to the FLTK 1.4 branch:
$ git checkout branch-1.4
Then you need to generate an initial version of 'configure'
by running 'make makeinclude' or 'make clean' (we don't
include a copy of configure in git).
Make Targets
make -- builds the library + test programs (does not install)
make install -- builds and installs
make clean -- clean for a rebuild
make distclean -- like 'clean', but also removes docs, configure, fltk-config
( cd src; make ) -- builds just the fltk libraries
Building FLTK under Microsoft Windows
There are three ways to build FLTK under Microsoft Windows.
The first is to use CMake to create the Visual Studio IDE project or
NMake files with CMake, then build FLTK with Visual Studio or NMake.
The second method is to use a GNU-based development tool with CMake. To
build with Cygwin, MinGW, or MSYS2 tools, use CMake to create the build
files from the `cmake` commandline and build the library as described
above. On some of these systems you may also install and use `cmake-gui`.
The third method is to use autoconf (configure/make) with a GNU-based
development tool. To build with the Cygwin or MinGW tools, use the
supplied configure script as specified in the UNIX section above:
./configure ...options...
See README.Windows.txt and README.CMake.txt for more info.
Building HTML Documentation
FLTK uses Doxygen for documentation, so you'll at least need doxygen
installed for creating HTML docs, and additionally LaTeX for creating
PDF documentation.
If you want to build the HTML documentation:
( cd documentation && make html )
If you want to build the PDF documentation:
( cd documentation && make pdf )
Internet Resources
FLTK is available on the internet in a bunch of locations:
- https://www.fltk.org/ - homepage
- https://github.com/fltk/fltk - source code and discussions
- https://www.fltk.org/bugs.php - info for reporting bugs
- https://www.fltk.org/software.php - download source code
- https://github.com/fltk/fltk/releases - source code and documentation
Note that we don't provide pre-compiled (binary) distributions. Consult
the package manager of your (Linux, Unix, macOS) operating system.
General Questions
To join the FLTK mailing list, go to the following web page:
https://groups.google.com/forum/#!forum/fltkgeneral
Detailed instructions on how to register for the mailing list (even
without a Google account) can be found further down on this page:
https://www.fltk.org/newsgroups.php
Since July 2024 we offer GitHub Discussions on our GitHub project page.
Use the 'Q&A' section for general questions on building and using FLTK.
https://github.com/fltk/fltk/discussions/categories/q-a
Reporting Bugs
If you are new to FLTK, or have general questions about how to use FLTK,
or aren't sure if you found a bug, please ask first on the fltk.general
group forum at:
https://groups.google.com/forum/#!forum/fltkgeneral
or on GitHub Discussions (Q&A) as noted above:
https://github.com/fltk/fltk/discussions/categories/q-a
See also paragraph "General Questions" above for more info.
If you are sure you found a bug, please see the following page for
further information on how to report a bug:
https://www.fltk.org/bugs.php
Trademarks
- Microsoft and Windows are registered trademarks of Microsoft Corporation.
- UNIX is a registered trademark of the X/Open Group, Inc.
- OpenGL is a registered trademark of Silicon Graphics, Inc.
- macOS is a registered trademark of Apple Computers, Inc.
Copyright
FLTK is copyright 1998-2025 by Bill Spitzak and others,
see the CREDITS.txt file for more info.
This library is free software. Distribution and use rights are
outlined in the file "COPYING" which should have been included with
this file. If this file is missing or damaged, see the license at:
https://www.fltk.org/COPYING.php
|