VS2005(VC8)编译Xalan-C_1_10_0
概述
本人设计和研发的一个类似Altova MapForce的文档转换产品,该产品支持常用格式文档间的互相转换,包括XML、Excel、CVS、Txt、HTML、XHTML、EDIFACT、SAP IDoc、Database等。项目采用C++语言,VS2005开发环境。
该产品采用适配器(Adapter)的概念在源文档和目标文档中进行适配或者说是转换。其中一个重要的适配器是Xml2Txt,该适配器将XML文档转换(Transform)为其他纯文本文档(Plain Text,在本项目中指XML、Txt、CVS、HTML、XHTML、EDIFACT等)。该适配器采用XSLT(EXtensible Stylesheet Language Transformations),因此需要一个XSLT的解析器。XSLT解析器的开源项目中Apache下的Xalan项目是首选,Xalan有Xalan-C和Xalan-J两种版本,分别支持C++和Java两种语言。Xalan-C的当前版本为1.10.0。Xalan-C需要使用Apache下的Xerces-C项目来解析XML,本项目使用的版本是Xerces-C 2.8.0。
本文意图不是介绍产品的完整方案,而是介绍本人在技术预研时遇到的一个问题的解决方案,即Xalan-C_1_10_0在VS2005下的编译问题。本着发扬互联网的分享精神,心想可能会有朋友遇到同样的问题,因此将解决方案记录下来与朋友们分享,文中错误之处请指正。
相关资源
Xalan-C的官网地址:
http://xml.apache.org/xalan-c/
Xalan-C_1_10_0的下载地址:
http://xml.apache.org/xalan-c/download.html
Xerces-C的官网地址:
http://xerces.apache.org/xerces-c/
Xerces-C_2_8_0的下载地址:
http://xerces.apache.org/xerces-c/download.cgi
文档约定
$XercesSrcHome:指Xerces-C_2_8_0的源码所在文件夹
$XalanSrcHome:指Xalan-C_1_10_0的源码所在文件夹
步骤
(1)使用vs2005编译Xerces-C_2_8_0
Xerces-C_2_8_0的VS2005解决方案在$XercesSrcHome\Projects\Win32\VC8\xerces-all文件夹下,用VS2005打开。
修改XercesLib的工程属性,在属性对话框中的配置属性\C++\语言选项卡中,设置“将wchar_t视为内置类型”为“否”。
(2)设置XERCESCROOT环境变量
新建XERCESCROOT环境变量,其值设置为Xerces-C_2_8_0源码的根路径,即$XercesSrcHome。
右键我的电脑\属性\高级\环境变量
(3)设置VS2005开发环境的Xerces-C_2_8_0路径
概述
本人设计和研发的一个类似Altova MapForce的文档转换产品,该产品支持常用格式文档间的互相转换,包括XML、Excel、CVS、Txt、HTML、XHTML、EDIFACT、SAP IDoc、Database等。项目采用C++语言,VS2005开发环境。
该产品采用适配器(Adapter)的概念在源文档和目标文档中进行适配或者说是转换。其中一个重要的适配器是Xml2Txt,该适配器将XML文档转换(Transform)为其他纯文本文档(Plain Text,在本项目中指XML、Txt、CVS、HTML、XHTML、EDIFACT等)。该适配器采用XSLT(EXtensible Stylesheet Language Transformations),因此需要一个XSLT的解析器。XSLT解析器的开源项目中Apache下的Xalan项目是首选,Xalan有Xalan-C和Xalan-J两种版本,分别支持C++和Java两种语言。Xalan-C的当前版本为1.10.0。Xalan-C需要使用Apache下的Xerces-C项目来解析XML,本项目使用的版本是Xerces-C 2.8.0。
本文意图不是介绍产品的完整方案,而是介绍本人在技术预研时遇到的一个问题的解决方案,即Xalan-C_1_10_0在VS2005下的编译问题。本着发扬互联网的分享精神,心想可能会有朋友遇到同样的问题,因此将解决方案记录下来与朋友们分享,文中错误之处请指正。
相关资源
Xalan-C的官网地址:
http://xml.apache.org/xalan-c/
Xalan-C_1_10_0的下载地址:
http://xml.apache.org/xalan-c/download.html
Xerces-C的官网地址:
http://xerces.apache.org/xerces-c/
Xerces-C_2_8_0的下载地址:
http://xerces.apache.org/xerces-c/download.cgi
文档约定
$XercesSrcHome:指Xerces-C_2_8_0的源码所在文件夹
$XalanSrcHome:指Xalan-C_1_10_0的源码所在文件夹
步骤
(1)使用vs2005编译Xerces-C_2_8_0
Xerces-C_2_8_0的VS2005解决方案在$XercesSrcHome\Projects\Win32\VC8\xerces-all文件夹下,用VS2005打开。
修改XercesLib的工程属性,在属性对话框中的配置属性\C++\语言选项卡中,设置“将wchar_t视为内置类型”为“否”。
(2)设置XERCESCROOT环境变量
新建XERCESCROOT环境变量,其值设置为Xerces-C_2_8_0源码的根路径,即$XercesSrcHome。
右键我的电脑\属性\高级\环境变量
(3)设置VS2005开发环境的Xerces-C_2_8_0路径