1 2 3 Installing Magick++ 4 5 General 6 7 In order to compile Magick++ you must have access to a standard C++ 8 implementation. The author uses gcc 3.1 (GNU C++) which is available under 9 UNIX and under the Cygwin UNIX-emulation environment for Windows. Standards 10 compliant commercial C++ compilers should also work fine. Most modern C++ 11 compilers for Microsoft Windows or the Mac should work (project files are 12 provided for Microsoft Visual C++ 6.0). 13 14 It was decided that Magick++ will be around for the long-haul, so its API 15 definition depends on valuable C++ features which should be common in all 16 current and future C++ compilers. The compiler must support the following 17 C++ 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 28 The author has personally verified that Magick++ compiles and runs using the 29 following 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 51 Users of Magick++ have reported that the following configurations work with 52 Magick++: 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 (a] fmi.uni-passau.de> 60 Red Hat i386 GCC 2.95.2 Dr. Alexander Zimmermann 61 Linux 7.0 <Alexander.Zimmermann (a] 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 (a] fmi.uni-passau.de> 66 SGI IRIX MIPS IRIX C++ Albert Chin-A-Young 67 6.2, 6.5 7.3.1.2m <china (a] thewrittenword.com> 68 SunOS Sun WorkShop Albert Chin-A-Young 69 5.5.1 SPARC CC 5.0 <china (a] thewrittenword.com> 70 SunOS 71 5.6, 5.7,SPARC Sun Forte CC Albert Chin-A-Young 72 5.8 5.3 <china (a] thewrittenword.com> 73 HP-UX PA-RISC HP-UX aCC Albert Chin-A-Young 74 11.00 A.03.30 <china (a] thewrittenword.com> 75 Mac OS 9 PowerPC CodeWarrior Leonard Rosenthol <leonardr (a] 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 82 Please let me know if you have successfully built and executed Magick++ 83 using a different configuration so that I can add to the table of verified 84 configurations. 85 86 ------------------------------------------------------------------------ 87 88 Unix/Linux 89 90 Building From Source 91 92 Magick++ is now built using the ImageMagick configure script and Makefiles. 93 Please follow the installation instructions provided by its README.txt file. 94 The following instructions pertain to the Magick++ specific configuration 95 and build options. 96 97 To install ImageMagick plus Magick++ under Unix, installation should be 98 similar to 99 100 ./configure [ --prefix=/prefix ] 101 make 102 make install 103 104 The library is currently named similar to 'libMagick++.a' (and/or 105 libMagick++.so.5.0.39) and is installed under prefix/lib while the headers 106 are installed with Magick++.h being installed in prefix/include and the 107 remaining headers in prefix/include/Magick++. 108 109 To influence the options the configure script chooses, you may specify 110 'make' option variables when running the configure script. For example, the 111 command 112 113 114 ./configure CXX=CC CXXFLAGS=-O2 LIBS=-lposix 115 116 specifies additional options to the configure script. The following table 117 shows 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 137 Installing Linux RPMs 138 139 Please note that the default version of the C++ compiler delivered with the 140 system may not be sufficient to support Magick++. Use of GCC 2.95 or later is 141 strongly recommended under Linux. 142 ------------------------------------------------------------------------ 143 144 Windows '9X, NT, 2000, ME, & XP 145 146 Visual C++ 147 148 Windows '95 through Windows XP are supported by the ImageMagick source 149 package for NT available in the 'win2k' subdirectory of the ImageMagick ftp 150 site (and mirrors). The ImageMagick source package for NT provides sources 151 to ImageMagick, Magick++, add-on libraries (e.g. JPEG), and a ready-made 152 Visual C++ 6.0 build environment. Please read the configuration and build 153 instructions in README.txt (under the heading "Windows Win2K/95 VISUAL C++ 154 6.0 COMPILATION") in order to build Magick++. 155 156 Cygwin & GCC 157 158 It is possible to build both ImageMagick and Magick++ under the Cygwin 159 Unix-emulation environment for Windows NT. Obtain and install Cgywin from 160 http://www.cygwin.com/ . An X11R6 environment for Cygwin is available 161 from http://www.cygwin.com/xfree/ .To build using Cygwin and GCC, follow 162 the instructions for building under Unix. ImageMagick and Magick++ do not 163 yet include support for building Windows DLLs under Cygwin so do not enable 164 dynamic libraries when building ImageMagick. 165