为了编译 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 更新 2 C++ 5.3 |
FreeBSD 4.0 |
英特尔奔腾 II |
GCC 2.95 |
Windows NT 4.0 SP6a |
英特尔奔腾 II |
Visual C++ 8.0 标准版 |
Windows XP |
英特尔奔腾 IV |
Visual C++ 8.0 标准版 Service Pack 5 |
Windows '98 + Cygwin 1.3.10 |
英特尔奔腾 III |
GCC 2.95.3-5 |
Windows NT 4.0 SP6a |
英特尔奔腾 II |
GCC 2.95.3-5 |
Windows XP + Cygwin 1.3.10 |
英特尔奔腾 IV |
GCC 2.95.3-5 |
Magick++ 的用户报告以下配置可与 Magick++ 一起使用
其他已知的有效配置
操作系统 |
体系结构 |
编译器 |
报告者 |
Red Hat Linux 8.0 |
i386 和 alpha |
EGCS 1.1.2 |
Dr. Alexander Zimmermann <[email protected]> |
Red Hat Linux 7.0 |
i386 |
GCC 2.95.2 |
Dr. Alexander Zimmermann <[email protected]> |
Red Hat Linux 7.0 |
i386 |
GCC “2.96” 快照 |
??? |
Red Hat Linux 7.X |
i386 和 alpha |
GCC 3.0 |
Dr. Alexander Zimmermann <[email protected]> |
SGI IRIX 6.2、6.5 |
MIPS |
IRIX C++ 7.3.1.2m |
Albert Chin-A-Young <[email protected]> |
SunOS 5.5.1 |
SPARC |
Sun WorkShop CC 5.0 |
Albert Chin-A-Young <[email protected]> |
SunOS 5.6、5.7、5.8 |
SPARC |
Sun Forte CC 5.3 |
Albert Chin-A-Young <[email protected]> |
HP-UX 11.00 |
PA-RISC |
HP-UX aCC A.03.30 |
Albert Chin-A-Young <[email protected]> |
Mac OS 9 |
PowerPC |
CodeWarrior Professional Release 6 |
Leonard Rosenthol <[email protected]> |
Mac OS X 10.1 “Darwin” |
PowerPC |
GCC 2.95.2 (apple gcc -926) |
Cristy |
如果您使用其他配置成功构建并执行了 Magick++,请告诉我,以便我将其添加到已验证配置表中。
Magick++ 现在使用 ImageMagick 配置脚本和 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++ 下。
要影响配置脚本选择的选项,您可以在运行配置脚本时指定 'make' 选项变量。例如,命令
./configure CXX=CC CXXFLAGS=-O2 LIBS=-lposix
为配置脚本指定其他选项。下表显示了可用的选项。
影响配置的环境变量
Make 选项变量 |
说明 |
CXX |
要使用的 C++ 编译器的名称(例如 'CC -Xa',使用编译器 'CC -Xa') |
CXXFLAGS |
用于编译的编译器标志(例如 '-g -O2') |
CPPFLAGS |
用于查找头文件的包含路径(-I/somedir) |
LDFLAGS |
用于查找库的库路径(-L/somedir)。支持库运行路径概念的系统可能还需要 -R/somedir 或 '-rpath /somedir',以便在运行时找到共享库。 |
LIBS |
链接所需的额外库(-lsomelib) |
可以在 ftp://ftp.imagemagick.org/pub/ImageMagick/linux/ 下载 ImageMagick 和 Magick++ 的 Linux RPM。
从 Windows NT 到 Windows Vista 都受 ImageMagick NT 源代码包支持,该包位于 ImageMagick FTP 站点(及其镜像)的 'win2k' 子目录下。ImageMagick NT 源代码包提供了 ImageMagick、Magick++、附加库(例如 JPEG)的源代码以及现成的 Visual C++ 8.0 构建环境。请阅读 README.txt 中的配置和构建说明(在标题“Windows Win2K/XP VISUAL C++ 8.0 COMPILATION”下),以构建 Magick++。
可以在 Windows NT 的 Cygwin Unix 模拟环境下构建 ImageMagick 和 Magick++。从 http://www.cygwin.com/ 获取并安装 Cgywin。可在 http://www.cygwin.com/xfree/ 获取 Cygwin 的 X11R6 环境。要使用 Cygwin 和 GCC 构建,请按照在 Unix 下构建的说明进行操作。