2.9. 安装 xerces-c
Xerces-C++ (通常也称为:Xerces-C)是一套健壮、强大(同时也很庞大)的 XML 解析库,它提供了验证,以及 SAX 和 DOM API。XML 验证在文档类型定义(Document Type Definition,DTD)方面有很好的支持,并且在 2001年12月增加了支持 W3C XML Schema 的基本完整的开放标准。
IBM 在 Xerces-C++ 的基础上,开发了更加强大(同时也更加庞大)的XML4C——提供更多的编码支持。不过我们选择了xerces-c而非XML4C并非没有道理:虽然 xerces-c仅支持utf8编码的XML文档,但utf8已经可以方便地支持各国文字。
2.9.1. 下载
下载xerces-c-3.0.0.zip文件,解压到C:/TEMP/下(如果您的C盘可用空间不多,建议换个位置),得到新目录:C:/TEMP/xerces-c-3.0.0。
在 UNIX或者类UNIX(比如GUN/Linux、Max OS X、Cygwin、MinGW-MSYS)的环境下编译时,xerces-c均采用GNU automake-base风格的编译过程,这一过程通常分为三步:configure(配置)、make(编译)、make install(安装),这些步骤都需要在MSYS系统中进行。
双击桌面的MSYS快捷方式。在MSYS中输入:
cd /C/TEMP/xerces-c-3.0.0/[回车]
〖危险〗: msys : UNIX风格与Windows风格的杂合体
请特别注意前述输入命令中,‘/’的方向与Windows下用于表达路径的‘/’方向正好相反,另外, C字母之后也没有Windows通常用于表示盘符‘:’。
2.9.2. 配置
请在msys中输入以下命令(注意,实际输入时仅一行):
./configure --enable-netaccessor-winsock --enable-transcoder-windows LDFLAGS=-no-undefined --with-PACKAGE
10~20分钟,一切OK的话,能在msys屏幕上看到一些配置报告:
configure: Report:
configure: File Manager: Windows
configure: Mutex Manager: Windows
configure: Transcoder: windows
configure: NetAccessor: winsock
configure: Message Loader: inmemory
2.9.3. 编译
输入制作命令:
make[回车]
25~35分钟,期间不仅编译出xerces-c的二进制库文件,而且把一些例子程序也编译了。
2.9.4. 安装
输入安装命令:
make install
该命令将把xerces-c的相关例子程序、头文件、二进制库文件,都默认复制到msys目录下的local目录下。请按以下步骤,将它们移动到我们在本章第一节准备的cpp_ex_libs文件夹内。
步骤1:回到Windows桌面,打开目录C:/msys/1.0/local。应能找到bin、include和lib三个文件夹。在bin子文件夹内应能找到 libxerces-c-3-0.dll及多个可执行的例子文件;在include下则是存在名为xercesc的一个子文件夹;
步骤2:再新开一个文件管理器,进入E:/cpp_ex_libs文件夹,在其内新建一个子文件夹:xerces-c,进入xerces-c,再新建一级子文件夹:3_0;
步骤3:进入C:/TEMP/xerces-c-3.0.0,复制其子文件夹samples和doc到步骤2新建的3_0文件夹内。
步骤4:进入C:/msys/1.0/local/,复制其include和lib子文件夹到3_0文件夹内。
步骤5:进入C:/msys/1.0/local/bin,找到libxerces-c-3-0.dll文件,将其复制到3_0/lib文件夹内。
步骤6:进入C:/msys/1.0/local/bin,复制其下所有文件到 3_0/samples文件夹内。
步骤7:删除C:/msys/1.0/local下三个子文件夹(lib、bin、include)。
步骤8:删除C:/TEMP/xerces-c-3.0.0文件夹。
这是xerces-c安装到cpp_ex_libs之后的目录结构:
图 20 xercesc 目录结构
至此,C++史上最强大的XML解析库,已经落户我们的硬盘。如果您对XML还有些陌生,那么今天是一个很好的开始。
2.9.5. IDE配置
为了方便在Code::Blocks中使用xerces-c扩展库,您还需要在Code::Blocks中配置 “xerces”全局变量,请参看本章最后一小节。
2.9.6. 相关网址
xerces-c++官方主页:http://xerces.apache.org/xerces-c/
源文件下载页面:http://xerces.apache.org/xerces-c/download.cgi