blob: 7a36be0898697dc1d721c8f5e9d7f5feed538027 [file] [log] [blame]
Installing Magick++
General
In order to compile Magick++ you must have access to a standard C++
implementation. The author uses gcc 3.1 (GNU C++) which is available under
UNIX and under the Cygwin UNIX-emulation environment for Windows. Standards
compliant commercial C++ compilers should also work fine. Most modern C++
compilers for Microsoft Windows or the Mac should work (project files are
provided for Microsoft Visual C++ 6.0).
It was decided that Magick++ will be around for the long-haul, so its API
definition depends on valuable C++ features which should be common in all
current and future C++ compilers. The compiler must support the following
C++ standard features:
* templates
* static constructors
* C++-style casts (e.g. static_cast)
* bool type
* string class (<string>)
* exceptions (<exception>)
* namespaces
* Standard Template Library (STL) (e.g. <list>, <vector>)
The author has personally verified that Magick++ compiles and runs using the
following compiler/platform combinations:
Tested Configurations
Operating System Architecture Compiler
SunOS 5.6, 5.7, 5.8
("Solaris 2.6, 7, & 8) SPARC GCC 3.0.4
SunOS 5.7 ("Solaris 7") SPARC Sun Workshop 5.0 C++
SunOS 5.8 ("Solaris 8") SPARC Sun WorkShop 6 update 2 C++
5.3
FreeBSD 4.0 Intel Pentium II GCC 2.95
Windows NT 4.0 SP6a Intel Pentium II Visual C++ 6.0 Standard
Edition
Windows XP Intel Pentium IV Visual C++ 6.0 Standard
Edition Service Pack 5
Windows '98 + Cygwin 1.3.10 Intel Pentium III GCC 2.95.3-5
Windows NT 4.0 SP6a Intel Pentium II GCC 2.95.3-5
Windows XP + Cygwin 1.3.10 Intel Pentium IV GCC 2.95.3-5
Users of Magick++ have reported that the following configurations work with
Magick++:
Other Known Working Configurations
Operating
System Architecture Compiler Reported By
Red Hat i386 & alpha EGCS 1.1.2 Dr. Alexander Zimmermann
Linux 6.0 <Alexander.Zimmermann@fmi.uni-passau.de>
Red Hat i386 GCC 2.95.2 Dr. Alexander Zimmermann
Linux 7.0 <Alexander.Zimmermann@fmi.uni-passau.de>
Red Hat i386 GCC "2.96" ???
Linux 7.0 snapshot
Red Hat Dr. Alexander Zimmermann
Linux 7.Xi386 & alpha GCC 3.0 <Alexander.Zimmermann@fmi.uni-passau.de>
SGI IRIX MIPS IRIX C++ Albert Chin-A-Young
6.2, 6.5 7.3.1.2m <china@thewrittenword.com>
SunOS Sun WorkShop Albert Chin-A-Young
5.5.1 SPARC CC 5.0 <china@thewrittenword.com>
SunOS
5.6, 5.7,SPARC Sun Forte CC Albert Chin-A-Young
5.8 5.3 <china@thewrittenword.com>
HP-UX PA-RISC HP-UX aCC Albert Chin-A-Young
11.00 A.03.30 <china@thewrittenword.com>
Mac OS 9 PowerPC CodeWarrior Leonard Rosenthol <leonardr@digapp.com>
Professional
Release 6
Mac OS X GCC 2.95.2
10.1 PowerPC (apple gcc John Cristy
"Darwin" -926)
Please let me know if you have successfully built and executed Magick++
using a different configuration so that I can add to the table of verified
configurations.
------------------------------------------------------------------------
Unix/Linux
Building From Source
Magick++ is now built using the ImageMagick configure script and Makefiles.
Please follow the installation instructions provided by its README.txt file.
The following instructions pertain to the Magick++ specific configuration
and build options.
To install ImageMagick plus Magick++ under Unix, installation should be
similar to
./configure [ --prefix=/prefix ]
make
make install
The library is currently named similar to 'libMagick++.a' (and/or
libMagick++.so.5.0.39) and is installed under prefix/lib while the headers
are installed with Magick++.h being installed in prefix/include and the
remaining headers in prefix/include/Magick++.
To influence the options the configure script chooses, you may specify
'make' option variables when running the configure script. For example, the
command
./configure CXX=CC CXXFLAGS=-O2 LIBS=-lposix
specifies additional options to the configure script. The following table
shows the available options.
Environment Variables That Effect Configure
Make Option
Variable Description
CXX Name of C++ compiler (e.g. 'CC -Xa') to use
compiler 'CC -Xa'
CXXFLAGS Compiler flags (e.g. '-g -O2') to compile with
CPPFLAGS Include paths (-I/somedir) to look for header
files
Library paths (-L/somedir) to look for
libraries. Systems that support the notion of a
LDFLAGS library run-path may additionally require
-R/somedir or '-rpath /somedir' in order to
find shared libraries at run time.
LIBS Extra libraries (-lsomelib) required to link
Installing Linux RPMs
Please note that the default version of the C++ compiler delivered with the
system may not be sufficient to support Magick++. Use of GCC 2.95 or later is
strongly recommended under Linux.
------------------------------------------------------------------------
Windows '9X, NT, 2000, ME, & XP
Visual C++
Windows '95 through Windows XP are supported by the ImageMagick source
package for NT available in the 'win2k' subdirectory of the ImageMagick ftp
site (and mirrors). The ImageMagick source package for NT provides sources
to ImageMagick, Magick++, add-on libraries (e.g. JPEG), and a ready-made
Visual C++ 6.0 build environment. Please read the configuration and build
instructions in README.txt (under the heading "Windows Win2K/95 VISUAL C++
6.0 COMPILATION") in order to build Magick++.
Cygwin & GCC
It is possible to build both ImageMagick and Magick++ under the Cygwin
Unix-emulation environment for Windows NT. Obtain and install Cgywin from
http://www.cygwin.com/ . An X11R6 environment for Cygwin is available
from http://www.cygwin.com/xfree/ .To build using Cygwin and GCC, follow
the instructions for building under Unix. ImageMagick and Magick++ do not
yet include support for building Windows DLLs under Cygwin so do not enable
dynamic libraries when building ImageMagick.