Update READMEs.
This commit is contained in:
parent
34fcc5c2d8
commit
f10ed5a30d
176
README
176
README
|
@ -1,167 +1,33 @@
|
|||
README - Fast Light Tool Kit (FLTK) Version 1.3.0
|
||||
-------------------------------------------------
|
||||
|
||||
WHAT IS FLTK?
|
||||
# What is NTK? #
|
||||
|
||||
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
|
||||
a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11),
|
||||
Microsoft(r) Windows(r), and MacOS(r) X. FLTK provides
|
||||
modern GUI functionality without the bloat and supports 3D
|
||||
graphics via OpenGL(r) 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 in the US.
|
||||
NTK is a fork of FLTK 1.3.0 which adds graphics rendering via
|
||||
Cairo, support for transparent/overlapping widgets, streamlining
|
||||
of internals, and some new/improved widgets.
|
||||
|
||||
# LICENSING #
|
||||
|
||||
LICENSING
|
||||
NTK has the same license as FLTK.
|
||||
|
||||
FLTK comes with complete free source code. FLTK is available
|
||||
under the terms of the GNU Library General Public License.
|
||||
Contrary to popular belief, it can be used in commercial
|
||||
software! (Even Bill Gates could use it.)
|
||||
# Documentation #
|
||||
|
||||
Currently, there is none (beyond the FLTK 1.3 docs)
|
||||
|
||||
ON-LINE DOCUMENTATION
|
||||
# Building #
|
||||
|
||||
All of the documentation is in HTML in the subdirectory
|
||||
"documentation". The "index.html" file should be your
|
||||
starting point. PostScript(tm) and PDF versions of this
|
||||
documentation is also available from the FLTK web site at:
|
||||
NTK uses the 'waf' build system.
|
||||
|
||||
Type:
|
||||
./waf configure --help
|
||||
|
||||
to see compilation options.
|
||||
|
||||
http://www.fltk.org/documentation.php
|
||||
Building and installing generally goes like:
|
||||
|
||||
./waf configure
|
||||
./waf
|
||||
su -c './waf install'
|
||||
|
||||
BUILDING AND INSTALLING FLTK UNDER UNIX AND Mac OS X
|
||||
# Usage #
|
||||
|
||||
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:
|
||||
|
||||
--enable-cygwin - Enable the Cygwin libraries (WIN32)
|
||||
--enable-debug - Enable debugging code & symbols
|
||||
--disable-gl - Disable OpenGL support
|
||||
--enable-shared - Enable generation of shared libraries
|
||||
--enable-threads - Enable multithreading support
|
||||
--enable-xdbe - Enable the X double-buffer extension
|
||||
--enable-xft - Enable the Xft library (anti-aliased fonts)
|
||||
|
||||
--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]
|
||||
|
||||
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.
|
||||
|
||||
|
||||
BUILDING FLTK UNDER MICROSOFT WINDOWS
|
||||
|
||||
There are two ways to build FLTK under Microsoft Windows.
|
||||
The first is to use the Visual C++ project files under the
|
||||
"ide/" directory. See the file ide/README.IDE for more info.
|
||||
|
||||
The second method is to use 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:
|
||||
|
||||
sh configure ...options...
|
||||
|
||||
|
||||
INTERNET RESOURCES
|
||||
|
||||
FLTK is available on the 'net in a bunch of locations:
|
||||
|
||||
- WWW: http://www.fltk.org/
|
||||
http://www.fltk.org/str.php [for reporting bugs]
|
||||
http://www.fltk.org/software.php [source code]
|
||||
|
||||
- FTP: http://ftp.easysw.com/pub/fltk
|
||||
ftp://ftp.easysw.com/pub/fltk
|
||||
ftp://ftp2.easysw.com/pub/fltk
|
||||
ftp://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/fltk
|
||||
ftp://linux.mathematik.tu-darmstadt.de/pub/linux/mirrors/misc/fltk
|
||||
ftp://gd.tuwien.ac.at/hci/fltk
|
||||
|
||||
- EMail: fltk@fltk.org [see instructions below]
|
||||
|
||||
To send a message to the FLTK mailing list ("fltk@fltk.org")
|
||||
you must first join the list. Non-member submissions are
|
||||
blocked to avoid problems with SPAM.
|
||||
|
||||
To join the FLTK mailing list, go the following web page:
|
||||
|
||||
http://lists.easysw.com/listinfo/fltk
|
||||
|
||||
|
||||
REPORTING BUGS
|
||||
|
||||
To report a bug in FLTK, use the form at:
|
||||
|
||||
http://www.fltk.org/str.php
|
||||
|
||||
For general support and questions, please use the FLTK
|
||||
mailing list at "fltk@fltk.org".
|
||||
|
||||
|
||||
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. Mac OS is a registered trademark of Apple
|
||||
Computers, Inc.
|
||||
|
||||
|
||||
COPYRIGHT
|
||||
|
||||
FLTK is copyright 1998-2011 by Bill Spitzak
|
||||
(spitzak@users.sourceforge.net) and others,
|
||||
see the CREDITS file for more info.
|
||||
|
||||
This library is free software; you can redistribute it
|
||||
and/or modify it under the terms of the GNU Library General
|
||||
Public License as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any
|
||||
later version.
|
||||
|
||||
This library is distributed in the hope that it will be
|
||||
useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the GNU Library General Public License for
|
||||
more details.
|
||||
|
||||
You should have received a copy of the GNU Library General
|
||||
Public License along with this library; if not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
NTK uses pkg-config for publishing library information.
|
||||
|
|
111
README.Cairo.txt
111
README.Cairo.txt
|
@ -1,111 +0,0 @@
|
|||
README.Cairo.txt - 2010-10-25 - Cairo rendering support for FLTK
|
||||
----------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
CONTENTS
|
||||
==========
|
||||
|
||||
1 INTRODUCTION
|
||||
2 CAIRO SUPPORT FOR FLTK 1.3
|
||||
2.1 Configuration
|
||||
2.2 Currently supported features
|
||||
2.3 Future considerations
|
||||
3 DOCUMENT HISTORY
|
||||
|
||||
|
||||
|
||||
iINTRODUCTION
|
||||
===============
|
||||
|
||||
Cairo is a software library used to provide a vector graphics-based,
|
||||
device-independent API for software developers. It is designed to provide
|
||||
primitives for 2-dimensional drawing across a number of different
|
||||
wbackends. Cairo is designed to use hardware acceleration when available.
|
||||
|
||||
|
||||
CAIRO SUPPORT FOR FLTK 1.3
|
||||
=============================
|
||||
|
||||
It is now possible to integrate cairo rendering in your fltk application
|
||||
more easily and transparently.
|
||||
In 1.3, we provide minimum support for Cairo,
|
||||
In particular, no "total" cairo rendering layer support is achieved,
|
||||
as in fltk2.
|
||||
|
||||
|
||||
Configuration
|
||||
---------------
|
||||
|
||||
All the changes are *inactive* as long as the new configuration
|
||||
option --enable-cairo is not added to the configure command.
|
||||
For non configure based platforms/ide, the FLTK_HAVE_CAIRO preprocess var.
|
||||
has to be defined.
|
||||
All configure based build files has now this feature integrated,
|
||||
also vc2005 build files have 2 new build modes "Release Cairo" and
|
||||
"Debug Cairo".
|
||||
Others IDE's will be updated progressively.
|
||||
|
||||
|
||||
Currently supported features
|
||||
------------------------------
|
||||
|
||||
- Adding a new Fl_Cairo_Window class permitting transparent and easy
|
||||
integration of a Cairo draw callback without the need to achieve subclassing.
|
||||
|
||||
- Adding a Fl::cairo_make_current(Fl_Window*) function only providing
|
||||
transparently a cairo context to your custom Fl_Window derived class.
|
||||
This function is intended to be used in your overloaded draw() method.
|
||||
|
||||
- Adding an optional cairo autolink context mode support (disabled by default)
|
||||
which permits complete & automatic synchronization of OS dependent graphical
|
||||
context and cairo contexts, thus furthering a valid cairo context anytime,
|
||||
in any current window.
|
||||
This feature should be only necessary in the following cases:
|
||||
- Intensive and almost systematic use of cairo contexts in an fltk application
|
||||
- Creation of a new cairo based scheme for fltk ...
|
||||
- Other uses of cairo necessiting the flk internals instrumentation
|
||||
to automatically making possible the use of a cairo context
|
||||
in any fltk window.
|
||||
|
||||
- A new cairo demo that is available in the test subdirectory and has been
|
||||
used as a testcase durings the multiplatform tests.
|
||||
|
||||
For more details, please have a look to the doxygen documentation,
|
||||
in the Modules section.
|
||||
|
||||
|
||||
Future considerations
|
||||
-----------------------
|
||||
|
||||
From Bill:
|
||||
First there is the FLTK_HAVE_CAIRO configuration option. This indicates that
|
||||
any cairo calls are available. In this case you get something like this:
|
||||
|
||||
// static variable holding the last cairo context fltk set:
|
||||
cairo_t* Fl::cr;
|
||||
|
||||
// Make cr draw in this window. This hides the ugly platform-dependent
|
||||
// part of getting cairo going:
|
||||
void Fl::cairo_make_current(Fl_Window*)
|
||||
|
||||
*** POST 1.3 potential cairo use:
|
||||
// Set cr to something you made yourself. This lets you reuse functions
|
||||
// that use cr, and also tells fltk that cr is not one of it's own and
|
||||
// thus cannot be destroyed or reused for a different window:
|
||||
void Fl::cairo_make_current(cairo_t*)
|
||||
|
||||
Second there is the FLTK_USE_CAIRO configuration option. This means that all
|
||||
drawing is done using Cairo. In this case when a widget draw() method is
|
||||
called, it is exactly as though cairo_make_current(window) has been done.
|
||||
***
|
||||
|
||||
Note that it should be possible to compile so FLTK_HAVE_CAIRO works even if
|
||||
FLTK_USE_CAIRO does not, and so that turning on FLTK_USE_CAIRO does not break any
|
||||
programs written for FLTK_HAVE_CAIRO.
|
||||
|
||||
|
||||
DOCUMENT HISTORY
|
||||
==================
|
||||
|
||||
Dec 20 2010 - matt: restructured document
|
|
@ -1,608 +0,0 @@
|
|||
README.MSWindows.txt - 2010-10-25 - Building FLTK under Microsoft Windows
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
CONTENTS
|
||||
==========
|
||||
|
||||
1 INTRODUCTION
|
||||
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
|
||||
3.3 Configuring FLTK
|
||||
3.4 Building FLTK
|
||||
3.5 Testing FLTK
|
||||
3.6 Installing FLTK
|
||||
3.7 Creating new Projects
|
||||
4 HOW TO BUILD FLTK USING VISUAL STUDIO 2010
|
||||
4.1 Prerequisites
|
||||
4.2 Downloading and Unpacking
|
||||
4.3 Configuring FLTK
|
||||
4.4 Building FLTK
|
||||
4.5 Testing FLTK
|
||||
4.6 Installing FLTK
|
||||
4.7 Creating new Projects
|
||||
5 FREQUENTLY ASKED QUESTIONS
|
||||
7 LINKS
|
||||
6 DOCUMENT HISTORY
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
==============
|
||||
|
||||
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.
|
||||
|
||||
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!
|
||||
|
||||
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.
|
||||
|
||||
An alternative is to install the new (since about Oct. 2010)
|
||||
mingw cross tools that support newer gcc compilers for building
|
||||
native Windows applications (like -mno-cygwin above).
|
||||
Currently you would have to install mingw64-i686-gcc-g++ for
|
||||
32-bit Windows applications (despite its name!), and/or
|
||||
mingw64-x86_64-gcc-g++ for 64-bit applications. You may also
|
||||
need to install the corresponding '-headers' packages as well.
|
||||
Currently these tools support gcc 4.5.x or newer, but the
|
||||
setup for FLTK is somewhat more complicated and not yet
|
||||
completely supported automatically (you may need to edit
|
||||
some lines in the generated makeinclude file).
|
||||
|
||||
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. This is the recommended
|
||||
one if you want to build native Windows programs only.
|
||||
|
||||
|
||||
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
|
||||
---------------
|
||||
|
||||
In order to build FLTK from the command line, you need to install the MinGW
|
||||
environment from www.mingw.org. The graphical installer "mingw-get-inst" can
|
||||
be downloaded here for free:
|
||||
|
||||
http://www.mingw.org/wiki/Getting_Started
|
||||
|
||||
Launch the installer and follow the instructions. In the "Select Components"
|
||||
dialog, add "C++ Compiler", "MSYS Basic System", and "MinGW Developer Toolkit".
|
||||
Wait for the installer to finish.
|
||||
|
||||
After downloading and installing, you need to launch the MinGW Shell through
|
||||
the Start menu.
|
||||
|
||||
|
||||
Downloading and Unpacking
|
||||
---------------------------
|
||||
|
||||
Download FLTK from here:
|
||||
|
||||
http://www.fltk.org/software.php
|
||||
|
||||
into your home folder. The default location as seen from MSWindows is similar
|
||||
to
|
||||
|
||||
C:\MinGW\msys\1.0\home\matt\
|
||||
|
||||
If you are familiar with "subversion" and like to stay current with your
|
||||
version, you will find the subversion access parameters at the bottom of
|
||||
that page. Unpack FLTK into a convenient location. I like to have everything
|
||||
in my dev directory:
|
||||
|
||||
cd
|
||||
mkdir dev
|
||||
cd dev
|
||||
tar xvfz fltk-1.3.xxxx.tar.gz
|
||||
cd fltk-1.3.xxxx
|
||||
|
||||
|
||||
Configuring FLTK
|
||||
------------------
|
||||
|
||||
Stay in your FLTK source-code directory. Type:
|
||||
|
||||
autoconf
|
||||
|
||||
Now configure your FLTK installation:
|
||||
|
||||
./configure
|
||||
|
||||
ADVANCED: type "./configure --help" to get a complete list of optional
|
||||
configuration parameters. These should be pretty self-explanatory. Some
|
||||
more details can be found in README.
|
||||
:END_ADVANCED
|
||||
|
||||
The configuration script will check your machine for the required resources
|
||||
which should all have been part of your MinGW installation. Review the
|
||||
Configuration Summary, maybe take some notes.
|
||||
|
||||
ADVANCED: some versions of MinGW/Msys are broken and complain about a missing
|
||||
--enable-auto-import. The solution is to upgrade to the current release. If
|
||||
that is not possible, you can include the --enable-auto-import flag when
|
||||
linking:
|
||||
./configure <config flags> LDFLAGS=-Wl,--enable-auto-import
|
||||
:END_ADVANCED
|
||||
|
||||
|
||||
Building FLTK
|
||||
---------------
|
||||
|
||||
Now this is easy. Stay in your FLTK source-code directory and type:
|
||||
|
||||
make
|
||||
|
||||
The entire FLTK toolkit including many test programs will be built for you.
|
||||
No warnings should appear.
|
||||
|
||||
(actually, as of Oct 25 2010, quite a lot of warnings related to suggested
|
||||
parentheses and others will appear, this is normal and will be fixed. The
|
||||
linker will also spit out a bunch of warnings for every program linked. This
|
||||
needs to be fixed. Lastly, there is no generator for man pages in a default
|
||||
MinGW installation, but you can install man and groff to fix this.)
|
||||
|
||||
|
||||
Testing FLTK
|
||||
--------------
|
||||
|
||||
After a successful build, you can test FLTK's capabilities:
|
||||
|
||||
test/demo
|
||||
|
||||
|
||||
Installing FLTK
|
||||
-----------------
|
||||
|
||||
If you did not change any of the configuration settings, FLTK will be
|
||||
installed in "/usr/local/include" and "/usr/local/lib" by typing
|
||||
|
||||
make install
|
||||
|
||||
It is possible to install FLTK in user space by changing the installation path
|
||||
to a location within the user account by adding the "--prefix=PREFIX" parameter
|
||||
to the "./configure" command.
|
||||
|
||||
|
||||
Creating new Projects
|
||||
-----------------------
|
||||
|
||||
FLTK provides a neat script named "fltk-config" that can provide all the flags
|
||||
needed to build FLTK applications using the same flags that were used to build
|
||||
the library itself. Running "fltk-config" without arguments will print a list
|
||||
of options. The easiest call to compile an FLTK application from a single
|
||||
source file is:
|
||||
|
||||
fltk-config --compile myProgram.cxx
|
||||
|
||||
"fltk-config" and "fluid" will be installed in "/usr/local/bin/" by default.
|
||||
I recommend that you add it to the command search path.
|
||||
|
||||
|
||||
|
||||
HOW TO BUILD FLTK USING VISUAL STUDIO 2008
|
||||
============================================
|
||||
|
||||
|
||||
Prerequisites
|
||||
---------------
|
||||
|
||||
In order to build FLTK from within VisualStudio 2008, you need to install the
|
||||
VisualC developer environment from the Microsoft web site. The Express edition
|
||||
is free of charge and sufficient to develop FLTK applications:
|
||||
|
||||
http://www.microsoft.com/express/Downloads/
|
||||
|
||||
You must make sure that at least VisualStudio 2008 Service Pack 1 is installed
|
||||
or building FLTK on a multicore CPU will be very painful!
|
||||
|
||||
|
||||
Downloading and Unpacking
|
||||
---------------------------
|
||||
|
||||
Download FLTK from here:
|
||||
|
||||
http://www.fltk.org/software.php
|
||||
|
||||
If you are familiar with "subversion" and like to stay current with your
|
||||
version, you will find the subversion access parameters at the bottom of
|
||||
that page.
|
||||
|
||||
Unpack FLTK by using an appropriate unpacker and copy the new folder into a
|
||||
convenient location. I have set up a "dev" folder in my home folder for all
|
||||
my projects.
|
||||
|
||||
|
||||
Configuring FLTK
|
||||
------------------
|
||||
|
||||
Launch VisualStudio. Open the project file in
|
||||
|
||||
...\fltk-1.3.xxxx\ide\VisualC2008\fltk.sln
|
||||
|
||||
Choose "Debug" or "Release" mode from the "Solution Configurations" menu.
|
||||
|
||||
|
||||
Building FLTK
|
||||
---------------
|
||||
|
||||
Use the context menu of the "demo" project to "Set as StartUp Project". Then
|
||||
select "Build Solution" from the "Build" menu or press F7 to build all
|
||||
libraries.
|
||||
|
||||
VisualC 2008 has a bug that messes up building a Solution on multicore CPUs.
|
||||
Make sure that Visual Studio 2008 Service Pack 1 is installed or, as a
|
||||
workaround, set the "maximum number of parallel project builds" to 1 (Tools >
|
||||
Options > Projects and Solutions > Build and Run > maximum number of parallel
|
||||
project builds). Also, repeating the build command two or three times may
|
||||
clear unresolved reference errors.
|
||||
|
||||
|
||||
Testing FLTK
|
||||
--------------
|
||||
|
||||
Select "Start Debugging" from the "Debug" menu or just press F5 to run the
|
||||
Demo program. Use "Demo" to explore all test programs.
|
||||
|
||||
|
||||
Installing FLTK
|
||||
-----------------
|
||||
|
||||
The default location for VisualC 2008 libraries and headers is here:
|
||||
|
||||
C:\Program Files\Microsoft Visual Studio 9.0\VC\
|
||||
|
||||
It is possible to move the FLTK libraries, headers, and Fluid into the
|
||||
respective subdirectories, so that they are available for future development
|
||||
without adding link and include paths to the solution.
|
||||
|
||||
copy the entire FL directory into the include path
|
||||
|
||||
copy all .lib files from the fltk lib directory to the VC lib directory
|
||||
|
||||
copy fluid.exe in the fluid directory to the bin directory
|
||||
|
||||
I highly discourage using dll's (dynamically linking libraries) on MSWindows
|
||||
because they will require an installation process and likely cause version
|
||||
conflicts. Use the static .lib libraries instead.
|
||||
|
||||
|
||||
Creating new Projects
|
||||
-----------------------
|
||||
|
||||
This chapter assumes that libraries and headers are copied into
|
||||
|
||||
C:\Program Files\Microsoft Visual Studio 9.0\VC\
|
||||
|
||||
Create a new project of type "General", "Empty Project" and add a simple "C++"
|
||||
file to it. The FLTK "hello" source code is a good base.
|
||||
|
||||
Now open the Project Properties dialog and add "Comctl32.lib" and all the FLTK
|
||||
libraries that you want to use (at least "fltk.lib") to Additional Dependencies
|
||||
(Configuration Properties > Linker > Additional Dependencies). In the same
|
||||
dialog, add "WIN32" to the C++ Preprocessor Definitions (Configuration
|
||||
Properties > C/C++ > Preprocessor > Preprocessor Definitions).
|
||||
|
||||
Compile and run your test program with F5.
|
||||
|
||||
You can also include .fl resources: add a new Header file to your project, but
|
||||
let the name end in .fl. Right-click and select "Open with...". Add "fluid.exe"
|
||||
from the "bin" directory and set it as the default editor.
|
||||
|
||||
To automatically compile .fl files, open the Properties editor and set the
|
||||
Custom Build Steps to:
|
||||
|
||||
Command Line: fluid.exe -c $(InputPath)
|
||||
Description: Compiling Fluid .fl file
|
||||
Outputs: $(InputDir)$(InputName).cxx; $(InputDir)$(InputName).h
|
||||
|
||||
Now add the generated .cxx file to your project as well. Whenever the .fl file
|
||||
is changed, the corresponding .cxx file will be recompiled.
|
||||
|
||||
|
||||
|
||||
HOW TO BUILD FLTK USING VISUAL STUDIO 2010
|
||||
============================================
|
||||
|
||||
|
||||
Prerequisites
|
||||
---------------
|
||||
|
||||
In order to build FLTK from within VisualStudio 2010, you need to install the
|
||||
VisualC developer environment from the Microsoft web site. The Express edition
|
||||
is free of charge and sufficient to develop FLTK applications:
|
||||
|
||||
http://www.microsoft.com/express/Downloads/
|
||||
|
||||
|
||||
Downloading and Unpacking
|
||||
---------------------------
|
||||
|
||||
Download FLTK from here:
|
||||
|
||||
http://www.fltk.org/software.php
|
||||
|
||||
If you are familiar with "subversion" and like to stay current with your
|
||||
version, you will find the subversion access parameters at the bottom of
|
||||
that page.
|
||||
|
||||
Unpack FLTK by using an appropriate unpacker and copy the new folder into a
|
||||
convenient location. I have set up a "dev" folder in my home folder for all
|
||||
my projects.
|
||||
|
||||
|
||||
Configuring FLTK
|
||||
------------------
|
||||
|
||||
Launch VisualStudio. Open the project file in
|
||||
|
||||
.../fltk-1.3.xxxx/ide/VisualC2010/fltk.sln
|
||||
|
||||
Choose "Debug" or "Release" mode from the "Solution Configurations" menu.
|
||||
|
||||
|
||||
Building FLTK
|
||||
---------------
|
||||
|
||||
Use the context menu of the "demo" project to "Set as StartUp Project". Then
|
||||
select "Build Solution" from the "Build" menu or press F7 to build all
|
||||
libraries.
|
||||
|
||||
|
||||
Testing FLTK
|
||||
--------------
|
||||
|
||||
Select "Start Debugging" from the "Debug" menu or just press F5 to run the
|
||||
Demo program. Use "Demo" to explore all test programs.
|
||||
|
||||
|
||||
Installing FLTK
|
||||
-----------------
|
||||
|
||||
The default location for VisualC 2010 libraries and headers is here:
|
||||
|
||||
C:\Program Files\Microsoft Visual Studio 10.0\VC\
|
||||
|
||||
It is possible to move the FLTK libraries, headers, and Fluid into the
|
||||
respective subdirectories, so that they are available for future development
|
||||
without adding link and include paths to the solution.
|
||||
|
||||
copy the entire FL directory into the include path
|
||||
|
||||
copy all .lib files from the fltk lib directory to the VC lib directory
|
||||
|
||||
copy fluid.exe in the fluid directory to the bin directory
|
||||
|
||||
I highly discourage using dll's (dynamically linking libraries) on MSWindows
|
||||
because they will require an installation process and likely cause version
|
||||
conflicts. Use the static .lib libraries instead.
|
||||
|
||||
|
||||
Creating new Projects
|
||||
-----------------------
|
||||
|
||||
This chapter assumes that libraries and headers are copied into
|
||||
|
||||
C:\Program Files\Microsoft Visual Studio 10.0\VC\
|
||||
|
||||
Create a new project of type "General", "Empty Project" and add a simple "C++"
|
||||
file to it. The FLTK "hello" source code is a good base.
|
||||
|
||||
Now open the Project Properties dialog and add "Comctl32.lib" and all the FLTK
|
||||
libraries that you want to use (at least "fltk.lib") to Additional Dependencies
|
||||
(Configuration Properties > Linker > Additional Dependencies). In the same
|
||||
dialog, add "WIN32" to the C++ Preprocessor Definitions (Configuration
|
||||
Properties > C/C++ > Preprocessor > Preprocessor Definitions).
|
||||
|
||||
Compile and run your test program with F5.
|
||||
|
||||
You can also include .fl resources: add a new Header file to your project, but
|
||||
let the name end in .fl. Right-click and select "Open with...". Add "fluid.exe"
|
||||
from the "bin" directory and set it as the default editor.
|
||||
|
||||
To automatically compile .fl files, open the Properties editor and change the
|
||||
Element Type to Custom Build and click Apply. Now set the
|
||||
Custom Build Steps to:
|
||||
|
||||
Command Line: fluid.exe -c %(FullPath)
|
||||
Description: Compiling Fluid .fl file
|
||||
Outputs: $(InputDir)$(InputName).cxx; $(InputDir)$(InputName).h
|
||||
|
||||
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 program?
|
||||
---------------------------------------------------------
|
||||
|
||||
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. GNU Compiler Collection (GCC) compiler homepage:
|
||||
|
||||
http://gcc.gnu.org/
|
||||
|
||||
5. 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
|
||||
Dec 22 2010 - AlbrechtS: added newer Cygwin (cross/mingw-w64) options
|
318
README.OSX.txt
318
README.OSX.txt
|
@ -1,318 +0,0 @@
|
|||
README.OSX.txt - 2010-10-23 - Building FLTK under Apple OS X
|
||||
------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
CONTENTS
|
||||
==========
|
||||
|
||||
1 INTRODUCTION
|
||||
2 HOW TO BUILD FLTK USING GCC
|
||||
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
|
||||
3 HOW TO BUILD FLTK USING XCODE3
|
||||
3.1 Prerequisites
|
||||
3.2 Downloading and Unpacking
|
||||
3.3 Configuring FLTK
|
||||
3.4 Building FLTK
|
||||
3.5 Testing FLTK
|
||||
3.6 Uninstalling previous versions of FLTK
|
||||
3.7 Installing FLTK
|
||||
3.8 Installing Little Helpers
|
||||
3.9 Creating new Projects
|
||||
4 DOCUMENT HISTORY
|
||||
|
||||
|
||||
1 INTRODUCTION
|
||||
=================
|
||||
|
||||
FLTK currently supports the following development environments on the Apple OS X
|
||||
platform:
|
||||
|
||||
- gcc command line tools
|
||||
- Xcode 3.x
|
||||
|
||||
CAUTION: gcc command line built libraries and Xcode created Frameworks should
|
||||
not be mixed!
|
||||
|
||||
|
||||
2 HOW TO BUILD FLTK USING GCC
|
||||
================================
|
||||
|
||||
|
||||
2.1 Prerequisites
|
||||
--------------------
|
||||
|
||||
In order to build FLTK from the command line, you need to install the Xcode
|
||||
developer environment from the Apple Inc. web site. The developer environment
|
||||
can be downloaded from the Mac Dev Center for free:
|
||||
|
||||
http://developer.apple.com/technologies/xcode.html
|
||||
|
||||
After downloading and installing, you need to launch the Terminal. Terminal.app
|
||||
is located in the "Utilities" folder inside the "Applications" folder. I like to
|
||||
keep the Terminal in the Dock.
|
||||
|
||||
|
||||
2.2 Downloading and Unpacking
|
||||
--------------------------------
|
||||
|
||||
Download FLTK from here:
|
||||
|
||||
http://www.fltk.org/software.php
|
||||
|
||||
If you are familiar with "subversion" and like to stay current with your
|
||||
version, you will find the subversion access parameters at the bottom of that
|
||||
page. Unpack FLTK into a convinient location. I like to have everything in my
|
||||
dev directory:
|
||||
|
||||
cd
|
||||
mkdir dev
|
||||
cd dev
|
||||
mv ~/Downloads/fltk-1.3.xxxx.tar.gz .
|
||||
tar xvfz fltk-1.3.xxxx.tar.gz
|
||||
cd fltk-1.3.xxxx
|
||||
|
||||
|
||||
2.3 Configuring FLTK
|
||||
-----------------------
|
||||
|
||||
Stay in your FLTK source-code directory. Type:
|
||||
|
||||
autoconf
|
||||
|
||||
Now configure your FLTK installation:
|
||||
|
||||
./configure
|
||||
|
||||
ADVANCED: type "./configure --help" to get a complete list of optional
|
||||
configurations parameters. These should be pretty self-explanatory. Some
|
||||
more details can be found in README.
|
||||
|
||||
To create Universal Binaries, start "configure" with these flags:
|
||||
./configure --with-archflags="-arch i386 -arch ppc -arch x86_64"
|
||||
:END_ADVANCED
|
||||
|
||||
The configuration script will check your machine for the required resources
|
||||
which should all have been part of your Xcode installation. Review the
|
||||
Configuration Summary, maybe take some notes.
|
||||
|
||||
|
||||
2.4 Building FLTK
|
||||
--------------------
|
||||
|
||||
Now this is easy. Stay in your FLTK source-code directory and type:
|
||||
|
||||
make
|
||||
|
||||
The entire FLTK toolkit including many test programs will be built for you. No
|
||||
warnings should appear, but "ranlib" may complain about a few modules having no
|
||||
symbols. This is normal and can safely be ignored.
|
||||
|
||||
|
||||
2.5 Testing FLTK
|
||||
-------------------
|
||||
|
||||
After a successful build, you can test FLTK's capabilities:
|
||||
|
||||
test/demo
|
||||
|
||||
|
||||
2.6 Installing FLTK
|
||||
----------------------
|
||||
|
||||
If you did not change any of the configuration settings, FLTK will be installed
|
||||
in "/usr/local/include" and "/usr/local/lib" by typing
|
||||
|
||||
sudo make install
|
||||
|
||||
It is possible to install FLTK without superuser privileges by changing the
|
||||
installation path to a location within the user account by adding the
|
||||
"--prefix=PREFIX" parameter to the "./configure" command.
|
||||
|
||||
|
||||
2.7 Creating new Projects
|
||||
----------------------------
|
||||
|
||||
FLTK provides a neat script named "fltk-config" that can provide all the flags
|
||||
needed to build FLTK applications using the same flags that were used to build
|
||||
the library itself. Architecture flags (e.g., -arch i386) used to build the
|
||||
library, though, are not provided by the fltk-config script. This allows to
|
||||
build universal libraries and to produce applications of any architecture
|
||||
from them. Running "fltk-config" without arguments will print a list
|
||||
of options. The easiest call to compile an FLTK application from a single source
|
||||
file is:
|
||||
|
||||
fltk-config --compile myProgram.cxx
|
||||
|
||||
"fltk-config" and "fluid" will be installed in "/usr/local/bin/" by default. I
|
||||
recommend that you add it to the command search path.
|
||||
|
||||
|
||||
|
||||
3 HOW TO BUILD FLTK USING XCODE3
|
||||
===================================
|
||||
|
||||
|
||||
3.1 Prerequisites
|
||||
--------------------
|
||||
|
||||
In order to build FLTK from within Xcode, you need to install the Xcode
|
||||
developer environment from the Apple Inc. web site. The developer environment
|
||||
can be downloaded from the Mac Dev Center for free:
|
||||
|
||||
http://developer.apple.com/technologies/xcode.html
|
||||
|
||||
|
||||
3.2 Downloading and Unpacking
|
||||
--------------------------------
|
||||
|
||||
Download FLTK from here:
|
||||
|
||||
http://www.fltk.org/software.php
|
||||
|
||||
If you are familiar with "subversion" and like to stay current with your
|
||||
version, you will find the subversion access parameters at the bottom of that
|
||||
page. You can use the SCM system that is built into Xcode.
|
||||
|
||||
Unpack FLTK by double-clicking it and copy the new folder into a convenient
|
||||
location. I have set up a "dev" folder in my home folder for all my projects.
|
||||
|
||||
|
||||
3.3 Configuring FLTK
|
||||
-----------------------
|
||||
|
||||
Launch Xcode. Open the project file in
|
||||
|
||||
.../fltk-1.3.xxxx/ide/Xcode3/FLTK.xcodeproj
|
||||
|
||||
Use the "Project" pulldown menu to change "Active Build Configuration" to
|
||||
"Release". Change the "Active Architecture" as desired.
|
||||
|
||||
|
||||
3.4 Building FLTK
|
||||
--------------------
|
||||
|
||||
Use the "Project" pulldown menu to set the "Active Target" to "Demo".
|
||||
Select "Build" from the "Build" menu to create all libraries and test applications.
|
||||
|
||||
All frameworks and apps will be located in "./ide/Xcode3/build/Release/".
|
||||
|
||||
|
||||
3.5 Testing FLTK
|
||||
-------------------
|
||||
|
||||
Select "Build and Run" from the "Build" menu to run the Demo program. Use "Demo"
|
||||
to explore all test programs.
|
||||
|
||||
|
||||
3.6 Uninstalling previous versions of FLTK
|
||||
---------------------------------------------
|
||||
|
||||
Remove FLTK frameworks:
|
||||
|
||||
sudo rm -r /Library/Frameworks/fltk*.framework
|
||||
|
||||
Remove Fluid and possibly other utilities:
|
||||
|
||||
sudo rm -r /Developer/Applications/Utilities/FLTK/
|
||||
|
||||
|
||||
3.7 Installing FLTK
|
||||
----------------------
|
||||
|
||||
When distributing FLTK applications, the FLTK frameworks should be made part of
|
||||
the application package. For development however, it is very convenient to have
|
||||
the Release-mode Frameworks in a standard location.
|
||||
|
||||
For Xcode project template use, all FLTK frameworks should be copied from
|
||||
"./ide/Xcode3/build/Release/" to "/Library/Frameworks/". The FLTK header files
|
||||
for all FLTK frameworks will then be at "/Library/Frameworks/fltk.framework/
|
||||
Headers/". Add this path to the header search path of your projects.
|
||||
|
||||
sudo rm -f -r /Library/Frameworks/fltk*
|
||||
sudo cp -R ide/Xcode3/build/Release/fltk*.framework /Library/Frameworks/
|
||||
|
||||
Many FLTK applications will use Fluid, the FLTK User Interface builder, to
|
||||
generate C++ source code from .fl resource files. Add Fluid to the developer
|
||||
tools:
|
||||
|
||||
sudo mkdir /Developer/Applications/Utilities/FLTK/
|
||||
sudo rm -f -r /Developer/Applications/Utilities/FLTK/Fluid.app
|
||||
sudo cp -R ide/Xcode3/build/Release/Fluid.app /Developer/Applications/Utilities/FLTK/
|
||||
|
||||
|
||||
3.8 Installing Little Helpers
|
||||
--------------------------------
|
||||
|
||||
|
||||
- Project Templates:
|
||||
|
||||
Project Templates are the quickest way to create a new FLTK application from
|
||||
within Xcode. The included project builds an FLTK based Cocoa application
|
||||
written in C++ with support for the Fluid UI designer, image reading, and
|
||||
OpenGL. Unused FLTK sub-Frameworks can simply be removed from the project.
|
||||
The template assumes that Release versions of the FLTK frameworks are installed
|
||||
in /Library/Frameworks as described above.
|
||||
|
||||
First, we need to create the Template folder:
|
||||
|
||||
sudo mkdir -p /Library/Application\ Support/Developer/Shared/Xcode/Project\ Templates/
|
||||
|
||||
Next, we copy the project template over:
|
||||
|
||||
sudo cp -r ide/Xcode3/Project\ Templates/* /Library/Application\ Support/Developer/Shared/Xcode/Project\ Templates/
|
||||
|
||||
After restarting Xcode, the dialog for "File > New Project..." will offer an
|
||||
FLTK 1.3 user template which is ready to compile.
|
||||
|
||||
|
||||
- Fluid file handling
|
||||
|
||||
This section assumes that a Release version of Fluid is installed in
|
||||
"/Developer/Applications/Utilities/FLTK/" as described above. It will install
|
||||
a new file type which opens Fluid as an editor for files ending in ".fl".
|
||||
|
||||
First, we need to create the spec folder:
|
||||
|
||||
sudo mkdir -p /Library/Application\ Support/Developer/Shared/Xcode/Specifications/
|
||||
|
||||
Next, we copy the Fluid specification over:
|
||||
|
||||
sudo cp ide/Xcode3/fluid.pbfilespec /Library/Application\ Support/Developer/Shared/Xcode/Specifications/
|
||||
|
||||
Open Xcode preferences and select the File Types tab. Find the
|
||||
"sourcecode.fluid" entry in "file > text > sourcecode" and set the external
|
||||
editor to Fluid. When adding ".fl" files, set the File Type in the Info dialog
|
||||
to "sourcecode.fluid" and Xcode will edit your file in Fluid when
|
||||
double-clicking.
|
||||
|
||||
|
||||
- More
|
||||
|
||||
TODO: Language Definition
|
||||
TODO: Build Rules
|
||||
|
||||
|
||||
3.9 Creating new Projects
|
||||
----------------------------
|
||||
|
||||
If the little helpers above were installed, the menu "File > New Project..."
|
||||
will pop up a dialog that offers a User Template named Fluid. Select it and
|
||||
follow the instructions.
|
||||
|
||||
|
||||
|
||||
4 DOCUMENT HISTORY
|
||||
=====================
|
||||
|
||||
Oct 29 2010 - matt: removed warnings
|
||||
Oct 24 2010 - matt: restructured entire document and verified instructions
|
||||
Dec 19 2010 - Manolo: corrected typos
|
||||
Dec 29 2010 - Manolo: removed reference to AudioToolbox.framework that's no longer needed
|
||||
Feb 24 2011 - Manolo: architecture flags are not propagated to the fltk-config script.
|
306
README.Unix.txt
306
README.Unix.txt
|
@ -1,306 +0,0 @@
|
|||
README.Unix.txt - 2010-11-14 - Building FLTK on Unix
|
||||
-----------------------------------------------------
|
||||
|
||||
|
||||
|
||||
CONTENTS
|
||||
==========
|
||||
|
||||
1 INTRODUCTION
|
||||
2 PREREQUISITES
|
||||
2.1 Ubuntu 10
|
||||
2.2 Linux Mint 9
|
||||
2.3 Fedora 13
|
||||
2.4 * http://www2.mandriva.com/
|
||||
2.5 * http://www.opensuse.org/en/
|
||||
2.6 * http://www.debian.org/
|
||||
2.7 * Mandrake?
|
||||
2.8 * Sun?
|
||||
2.9 * SGI?
|
||||
2.10 * HPUX?
|
||||
3 HOW TO BUILD FLTK USING GCC
|
||||
3.1 Prerequisites
|
||||
3.2 Downloading and Unpacking
|
||||
3.3 Configuring FLTK
|
||||
3.4 Building FLTK
|
||||
3.5 Testing FLTK
|
||||
3.6 Installing FLTK
|
||||
3.7 Creating new Projects
|
||||
4 CREATING A NEW PROJECT IN CODE::BLOCKS
|
||||
5 DOCUMENT HISTORY
|
||||
|
||||
* TODO: we still need to write these chapters
|
||||
|
||||
|
||||
|
||||
1 INTRODUCTION
|
||||
=================
|
||||
|
||||
FLTK currently supports the following development environments on vmost Unix
|
||||
platforms:
|
||||
|
||||
- gcc command line tools
|
||||
- Code::Blocks
|
||||
- ...
|
||||
|
||||
The Symbol font and the Zapf Dingbats font do not work on X11. This is correct
|
||||
behavior for UTF-8 platforms.
|
||||
|
||||
|
||||
|
||||
2 PREREQUISITES
|
||||
==================
|
||||
|
||||
|
||||
2.1 Ubuntu 10
|
||||
----------------
|
||||
|
||||
Ubuntu Linux can be downloaded here:
|
||||
|
||||
http://www.ubuntu.com/
|
||||
|
||||
If you have not done so yet, download and install Ubuntu.
|
||||
|
||||
Open a shell and install some software:
|
||||
|
||||
sudo apt-get install g++
|
||||
sudo apt-get install gdb
|
||||
sudo apt-get install subversion
|
||||
sudo apt-get install autoconf
|
||||
sudo apt-get install libx11-dev
|
||||
sudo apt-get install libglu1-mesa-dev
|
||||
|
||||
These two are optional, but highly recommended:
|
||||
|
||||
sudo apt-get install libasound2-dev
|
||||
sudo apt-get install libxft-dev
|
||||
|
||||
If you are planning to use the Code::Blocks IDE, also install this
|
||||
|
||||
sudo apt-get install codeblocks
|
||||
|
||||
I like to use subversion to install the latest FLTK-1.3.release:
|
||||
|
||||
svn co http://svn.easysw.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
|
||||
|
||||
To update to the latest version, just go into the fltk-1.3 directory and type
|
||||
|
||||
svn update
|
||||
|
||||
|
||||
2.2 Linux Mint 9
|
||||
-------------------
|
||||
|
||||
Linux Mint 9 can be downloaded here:
|
||||
|
||||
http://www.linuxmint.com/
|
||||
|
||||
If you have not done so yet, download and install Linux Mint.
|
||||
|
||||
Open a shell and install some software:
|
||||
|
||||
sudo apt-get install g++
|
||||
sudo apt-get install gdb
|
||||
sudo apt-get install subversion
|
||||
sudo apt-get install autoconf
|
||||
sudo apt-get install libx11-dev
|
||||
sudo apt-get install libglu1-mesa-dev
|
||||
|
||||
These two are optional, but highly recommended:
|
||||
|
||||
sudo apt-get install libasound2-dev
|
||||
sudo apt-get install libxft-dev
|
||||
|
||||
If you are planning to use the Code::Blocks IDE, also install this
|
||||
|
||||
sudo apt-get install codeblocks
|
||||
|
||||
I like to use subversion to install the latest FLTK-1.3.release:
|
||||
|
||||
svn co http://svn.easysw.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
|
||||
|
||||
To update to the latest version, just go into the fltk-1.3 directory and type
|
||||
|
||||
svn update
|
||||
|
||||
FIXME: no FL_SYMBOL font (-*-symbol-*), font 15 (Zapf-Dingbats)
|
||||
|
||||
|
||||
2.3 Fedora 13
|
||||
-------------------
|
||||
|
||||
Fedora 13 Linux can be downloaded here:
|
||||
|
||||
http://fedoraproject.org/
|
||||
|
||||
If you have not done so yet, download and install Fedora.
|
||||
|
||||
Open a terminal window and install some software. In Fedora, the default user
|
||||
has no permission to call "sudo", so we will change user a few times:
|
||||
|
||||
su root
|
||||
yum groupinstall "Development Tools"
|
||||
yum groupinstall "X Software Development"
|
||||
|
||||
If you are planning to use the Code::Blocks IDE, also install this
|
||||
|
||||
yum install codeblocks.i686 (for 64 bit machines)
|
||||
|
||||
Don't forget to leave root status (Ctrl-D) before loading FLTK. To install FLTK
|
||||
for every user, you either have to set root user again, or use "visudo" to add
|
||||
yourself to the "sudo" list.
|
||||
|
||||
I like to use subversion to install the latest FLTK-1.3.release:
|
||||
|
||||
svn co http://svn.easysw.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
|
||||
|
||||
To update to the latest version, just go into the fltk-1.3 directory and type
|
||||
|
||||
svn update
|
||||
|
||||
FIXME: no FL_SYMBOL font (-*-symbol-*), font 15 (Zapf-Dingbats)
|
||||
|
||||
|
||||
|
||||
3 HOW TO BUILD FLTK USING GCC
|
||||
================================
|
||||
|
||||
|
||||
3.1 Downloading and Unpacking
|
||||
--------------------------------
|
||||
|
||||
Download FLTK from here:
|
||||
|
||||
http://www.fltk.org/software.php
|
||||
|
||||
If you are familiar with "subversion" and like to stay current with your
|
||||
version, you will find the subversion access parameters at the bottom of that
|
||||
page. Unpack FLTK into a convenient location. I like to have everything in my
|
||||
dev directory:
|
||||
|
||||
cd
|
||||
mkdir dev
|
||||
cd dev
|
||||
mv ~/Downloads/fltk-1.3.xxxx.tar.gz .
|
||||
tar xvfz fltk-1.3.xxxx.tar.gz
|
||||
cd fltk-1.3.xxxx
|
||||
|
||||
|
||||
3.2 Configuring FLTK
|
||||
-----------------------
|
||||
|
||||
Stay in your FLTK source-code directory. Type:
|
||||
|
||||
autoconf
|
||||
|
||||
Now configure your FLTK installation:
|
||||
|
||||
./configure
|
||||
|
||||
ADVANCED: type "./configure --help" to get a complete list of optional
|
||||
configurations parameters. These should be pretty self-explanatory. Some
|
||||
more details can be found in README.
|
||||
:END_ADVANCED
|
||||
|
||||
The configuration script will check your machine for the required resources
|
||||
which you should have installed as described in the Prerequisites chapter. Review
|
||||
the Configuration Summary, maybe take some notes.
|
||||
|
||||
|
||||
3.3 Building FLTK
|
||||
--------------------
|
||||
|
||||
Now this is easy. Stay in your FLTK source-code directory and type:
|
||||
|
||||
make
|
||||
|
||||
The entire FLTK toolkit including many test programs will be built for you. No
|
||||
warnings should appear. If some do, please let the FLTK developer team know via
|
||||
the mailing list or the bug reporting template at www.fltk.org .
|
||||
|
||||
Actually, as of Oct 28 2010, quite a bunch of warnings will show, mostly about
|
||||
suggested parenthesis. Please ignore them until we can fix them.
|
||||
|
||||
|
||||
3.4 Testing FLTK
|
||||
-------------------
|
||||
|
||||
After a successful build, you can test FLTK's capabilities:
|
||||
|
||||
test/demo
|
||||
|
||||
|
||||
3.5 Installing FLTK
|
||||
----------------------
|
||||
|
||||
If you did not change any of the configuration settings, FLTK will be installed
|
||||
in "/usr/local/include" and "/usr/local/lib" by typing
|
||||
|
||||
sudo make install
|
||||
|
||||
If you are using the KDE, GNOME or XFCE desktop environments and want to call
|
||||
"fluid" from the desktop menu, you will need to install additional files and
|
||||
icons under "/usr/share" by typing:
|
||||
|
||||
sudo make install-desktop
|
||||
|
||||
It is possible to install FLTK without superuser privileges by changing the
|
||||
installation path to a location within the user account by adding the
|
||||
"--prefix=PREFIX" parameters to the "./configure" command.
|
||||
|
||||
|
||||
3.6 Creating new Projects
|
||||
----------------------------
|
||||
|
||||
FLTK provides a neat script named "fltk-config" that can provide all the flags
|
||||
needed to build FLTK applications using the same flags that were used to build
|
||||
the library itself. Running "fltk-config" without arguments will print a list
|
||||
options. The easiest call to compile an FLTK application from a single source
|
||||
file is:
|
||||
|
||||
fltk-config --compile myProgram.cxx
|
||||
|
||||
"fltk-config" and "fluid" will be installed in "/usr/local/bin/" by default. I
|
||||
recommend that you add it to the command search path.
|
||||
|
||||
|
||||
|
||||
4 CREATING A NEW PROJECT IN CODE::BLOCKS
|
||||
===========================================
|
||||
|
||||
Code::Blocks is a free and popular C++ IDE in the Linux world. It also runs on
|
||||
OS X and MSWindows. Configured correctly, it can also cross-compile between
|
||||
these platforms. This chapter focuses on creating a new FLTK project for Linux,
|
||||
assuming that FLTK 1.3 was previously built and installed in its default
|
||||
location from the command line.
|
||||
|
||||
If not done yet, install Code::Blocks as described in the Prerequisites chapter
|
||||
above, or download it from their web site. This description is based on
|
||||
version 10.05:
|
||||
|
||||
http://www.codeblocks.org/
|
||||
|
||||
Start Code::Blocks. Select File > New > Project. In the "New from template"
|
||||
dialog box, click on "FLTK project" and follow the instructions.
|
||||
|
||||
The default project support basic fltk. If you would like to add support for
|
||||
images, OpenGL, GLUT, or Forms, add the corresponding flags --use-images,
|
||||
--use-gl, --use-glut, and --use-forms respectively.
|
||||
|
||||
The flags are located in the "Project Build Options" dialog. To change the
|
||||
compiler flags, select your project in the tree view, then select the
|
||||
"Compiler Settings" tab, then "Other Options" and add the flags to
|
||||
`fltk-config --cxxflags` in front of the second "`".
|
||||
|
||||
The linker flags are located in the "Linker Settings" tab under "Other Linker
|
||||
Options". Add the flags to `fltk-config --ldstaticflags` in front of the
|
||||
second "`".
|
||||
|
||||
|
||||
|
||||
5 DOCUMENT HISTORY
|
||||
=====================
|
||||
|
||||
Oct 30 2010 - matt: added Code::Blocks chapter
|
||||
Oct 28 2010 - matt: restructured entire document and verified instructions
|
||||
Nov 14 2010 - duncan: added install-desktop
|
Loading…
Reference in New Issue