1 2 3 Installing Magick++ 4 5General 6 7In order to compile Magick++ you must have access to a standard C++ 8implementation. The author uses gcc 3.1 (GNU C++) which is available under 9UNIX and under the Cygwin UNIX-emulation environment for Windows. Standards 10compliant commercial C++ compilers should also work fine. Most modern C++ 11compilers for Microsoft Windows or the Mac should work (project files are 12provided for Microsoft Visual C++ 6.0). 13 14It was decided that Magick++ will be around for the long-haul, so its API 15definition depends on valuable C++ features which should be common in all 16current and future C++ compilers. The compiler must support the following 17C++ standard features: 18 19 * templates 20 * static constructors 21 * C++-style casts (e.g. static_cast) 22 * bool type 23 * string class (<string>) 24 * exceptions (<exception>) 25 * namespaces 26 * Standard Template Library (STL) (e.g. <list>, <vector>) 27 28The author has personally verified that Magick++ compiles and runs using the 29following compiler/platform combinations: 30 31 Tested Configurations 32 33 Operating System Architecture Compiler 34 SunOS 5.6, 5.7, 5.8 35 ("Solaris 2.6, 7, & 8) SPARC GCC 3.0.4 36 SunOS 5.7 ("Solaris 7") SPARC Sun Workshop 5.0 C++ 37 38 SunOS 5.8 ("Solaris 8") SPARC Sun WorkShop 6 update 2 C++ 39 5.3 40 FreeBSD 4.0 Intel Pentium II GCC 2.95 41 42 Windows NT 4.0 SP6a Intel Pentium II Visual C++ 6.0 Standard 43 Edition 44 45 Windows XP Intel Pentium IV Visual C++ 6.0 Standard 46 Edition Service Pack 5 47 Windows '98 + Cygwin 1.3.10 Intel Pentium III GCC 2.95.3-5 48 Windows NT 4.0 SP6a Intel Pentium II GCC 2.95.3-5 49 Windows XP + Cygwin 1.3.10 Intel Pentium IV GCC 2.95.3-5 50 51Users of Magick++ have reported that the following configurations work with 52Magick++: 53 54 Other Known Working Configurations 55 56 Operating 57 System Architecture Compiler Reported By 58 Red Hat i386 & alpha EGCS 1.1.2 Dr. Alexander Zimmermann 59 Linux 6.0 <Alexander.Zimmermann@fmi.uni-passau.de> 60 Red Hat i386 GCC 2.95.2 Dr. Alexander Zimmermann 61 Linux 7.0 <Alexander.Zimmermann@fmi.uni-passau.de> 62 Red Hat i386 GCC "2.96" ??? 63 Linux 7.0 snapshot 64 Red Hat Dr. Alexander Zimmermann 65 Linux 7.Xi386 & alpha GCC 3.0 <Alexander.Zimmermann@fmi.uni-passau.de> 66 SGI IRIX MIPS IRIX C++ Albert Chin-A-Young 67 6.2, 6.5 7.3.1.2m <china@thewrittenword.com> 68 SunOS Sun WorkShop Albert Chin-A-Young 69 5.5.1 SPARC CC 5.0 <china@thewrittenword.com> 70 SunOS 71 5.6, 5.7,SPARC Sun Forte CC Albert Chin-A-Young 72 5.8 5.3 <china@thewrittenword.com> 73 HP-UX PA-RISC HP-UX aCC Albert Chin-A-Young 74 11.00 A.03.30 <china@thewrittenword.com> 75 Mac OS 9 PowerPC CodeWarrior Leonard Rosenthol <leonardr@digapp.com> 76 Professional 77 Release 6 78 Mac OS X GCC 2.95.2 79 10.1 PowerPC (apple gcc Cristy 80 "Darwin" -926) 81 82Please let me know if you have successfully built and executed Magick++ 83using a different configuration so that I can add to the table of verified 84configurations. 85 86 ------------------------------------------------------------------------ 87 88 Unix/Linux 89 90Building From Source 91 92Magick++ is now built using the ImageMagick configure script and Makefiles. 93Please follow the installation instructions provided by its README.txt file. 94The following instructions pertain to the Magick++ specific configuration 95and build options. 96 97To install ImageMagick plus Magick++ under Unix, installation should be 98similar to 99 100./configure [ --prefix=/prefix ] 101make 102make install 103 104The library is currently named similar to 'libMagick++.a' (and/or 105libMagick++.so.5.0.39) and is installed under prefix/lib while the headers 106are installed with Magick++.h being installed in prefix/include and the 107remaining headers in prefix/include/Magick++. 108 109To influence the options the configure script chooses, you may specify 110'make' option variables when running the configure script. For example, the 111command 112 113 114 ./configure CXX=CC CXXFLAGS=-O2 LIBS=-lposix 115 116specifies additional options to the configure script. The following table 117shows the available options. 118 119 Environment Variables That Effect Configure 120 121 Make Option 122 Variable Description 123 124 CXX Name of C++ compiler (e.g. 'CC -Xa') to use 125 compiler 'CC -Xa' 126 CXXFLAGS Compiler flags (e.g. '-g -O2') to compile with 127 128 CPPFLAGS Include paths (-I/somedir) to look for header 129 files 130 Library paths (-L/somedir) to look for 131 libraries. Systems that support the notion of a 132 LDFLAGS library run-path may additionally require 133 -R/somedir or '-rpath /somedir' in order to 134 find shared libraries at run time. 135 LIBS Extra libraries (-lsomelib) required to link 136 137Installing Linux RPMs 138 139Please note that the default version of the C++ compiler delivered with the 140system may not be sufficient to support Magick++. Use of GCC 2.95 or later is 141strongly recommended under Linux. 142 ------------------------------------------------------------------------ 143 144 Windows '9X, NT, 2000, ME, & XP 145 146Visual C++ 147 148Windows '95 through Windows XP are supported by the ImageMagick source 149package for NT available in the 'win2k' subdirectory of the ImageMagick ftp 150site (and mirrors). The ImageMagick source package for NT provides sources 151to ImageMagick, Magick++, add-on libraries (e.g. JPEG), and a ready-made 152Visual C++ 6.0 build environment. Please read the configuration and build 153instructions in README.txt (under the heading "Windows Win2K/95 VISUAL C++ 1546.0 COMPILATION") in order to build Magick++. 155 156Cygwin & GCC 157 158It is possible to build both ImageMagick and Magick++ under the Cygwin 159Unix-emulation environment for Windows NT. Obtain and install Cgywin from 160http://www.cygwin.com/ . An X11R6 environment for Cygwin is available 161from http://www.cygwin.com/xfree/ .To build using Cygwin and GCC, follow 162the instructions for building under Unix. ImageMagick and Magick++ do not 163yet include support for building Windows DLLs under Cygwin so do not enable 164dynamic libraries when building ImageMagick. 165