為了要編譯 Magick++,您必須可以使用標準的 C++ 實作。作者使用 gcc 3.4 (GNU C++),它可以在 UNIX 底下以及適用於 Windows 的 Cygwin UNIX 模擬環境 中使用。符合標準的商業 C++ 編譯器也應該可以正常運作。大多數適用於 Microsoft Windows 或 Mac 的現代 C++ 編譯器應該都可以運作(專案檔適用於 Microsoft Visual C++ 8.0)。
我們決定讓 Magick++ 長期存在,因此它的 API 定義取決於所有現有和未來 C++ 編譯器中都應該通用的寶貴 C++ 功能。編譯器必須支援以下 C++ 標準功能:
樣板
靜態建構函式
C++ 風格的轉型(例如 static_cast)
bool 類型
string 類別 (<string>)
例外狀況 (<exception>)
命名空間
標準樣板庫 (STL)(例如<list>, <vector>)
作者親自驗證 Magick++ 可以使用以下編譯器/平台組合進行編譯和執行
已測試的組態
作業系統 |
架構 |
編譯器 |
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++ 8.0 標準版 |
Windows XP |
Intel Pentium IV |
Visual C++ 8.0 標準版 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 |
Magick++ 的使用者回報以下組態適用於 Magick++
其他已知可運作的組態
作業系統 |
架構 |
編譯器 |
回報者 |
Red Hat Linux 8.0 |
i386 和 alpha |
EGCS 1.1.2 |
Alexander Zimmermann 博士 <Alexander.Zimmermann@fmi.uni-passau.de> |
Red Hat Linux 7.0 |
i386 |
GCC 2.95.2 |
Alexander Zimmermann 博士 <Alexander.Zimmermann@fmi.uni-passau.de> |
Red Hat Linux 7.0 |
i386 |
GCC「2.96」快照 |
??? |
Red Hat Linux 7.X |
i386 和 alpha |
GCC 3.0 |
Alexander Zimmermann 博士 <Alexander.Zimmermann@fmi.uni-passau.de> |
SGI IRIX 6.2、6.5 |
MIPS |
IRIX C++ 7.3.1.2m |
Albert Chin-A-Young <china@thewrittenword.com> |
SunOS 5.5.1 |
SPARC |
Sun WorkShop CC 5.0 |
Albert Chin-A-Young <china@thewrittenword.com> |
SunOS 5.6、5.7、5.8 |
SPARC |
Sun Forte CC 5.3 |
Albert Chin-A-Young <china@thewrittenword.com> |
HP-UX 11.00 |
PA-RISC |
HP-UX aCC A.03.30 |
Albert Chin-A-Young <china@thewrittenword.com> |
Mac OS 9 |
PowerPC |
CodeWarrior Professional Release 6 |
Leonard Rosenthol <leonardr@digapp.com> |
Mac OS X 10.1「Darwin」 |
PowerPC |
GCC 2.95.2 (apple gcc -926) |
Cristy |
如果您已使用其他組態成功建置並執行 Magick++,請告訴我,以便我可以將其新增至已驗證組態的表格中。
Magick++ 現在是使用 ImageMagick configure 指令碼和 Makefile 建置的。請遵循其 README.txt 檔案提供的安裝說明。以下說明與 Magick++ 特定的組態和建置選項有關。
若要在 Unix 底下安裝 ImageMagick 和 Magick++,安裝方式應類似於
./configure [ --prefix=/prefix ]
make
make install
程式庫目前的名稱類似於「libMagick++.a」(和/或 libMagick++.so.5.0.39),安裝在 prefix/lib 底下,而標頭檔則安裝在 prefix/include 中,其中 Magick++.h 安裝在 prefix/include 中,其餘標頭檔則安裝在 prefix/include/Magick++ 中。
若要影響 configure 指令碼選擇的選項,您可以在執行 configure 指令碼時指定「make」選項變數。例如,以下指令
./configure CXX=CC CXXFLAGS=-O2 LIBS=-lposix
會指定 configure 指令碼的其他選項。下表顯示可用的選項。
影響配置的環境變數
Make 選項變數 |
說明 |
CXX |
要使用的 C++ 編譯器名稱(例如 'CC -Xa')來使用編譯器 'CC -Xa' |
CXXFLAGS |
用於編譯的編譯器標誌(例如 '-g -O2') |
CPPFLAGS |
用於查找標頭檔的 Include 路徑(-I/somedir) |
LDFLAGS |
用於查找程式庫的程式庫路徑(-L/somedir)。支援程式庫執行路徑概念的系統可能還需要 -R/somedir 或 '-rpath /somedir' 才能在執行時找到共享程式庫。 |
LIBS |
連結所需的額外程式庫(-lsomelib) |
ImageMagick 和 Magick++ 的 Linux RPM 可以從 ftp://ftp.imagemagick.org/pub/ImageMagick/linux/ 下載。
ImageMagick 原始碼套件支援 Windows NT 到 Windows Vista,該套件位於 ImageMagick FTP 站點(以及鏡像)的 'win2k' 子目錄中。適用於 NT 的 ImageMagick 原始碼套件提供了 ImageMagick、Magick++、附加程式庫(例如 JPEG)以及現成的 Visual C++ 8.0 建置環境的原始碼。請閱讀 README.txt 中(標題為「Windows Win2K/XP VISUAL C++ 8.0 編譯」)的配置和建置說明,以建置 Magick++。
可以在適用於 Windows NT 的 Cygwin Unix 模擬環境下建置 ImageMagick 和 Magick++。從 http://www.cygwin.com/ 取得並安裝 Cgywin。適用於 Cygwin 的 X11R6 環境可從 http://www.cygwin.com/xfree/ 取得。若要使用 Cygwin 和 GCC 進行建置,請遵循 Unix 下的建置說明。