背景
在我们相当大的C++系统中,我们依赖于几个Xalan和Xerces版本。这是多年来积累起来的,由于几个原因而不是最理想的。
现在我们从Solaris迁移到Linux,我们认为将第三方依赖合并到最低程度是有意义的。
我们已经确定我们仍然需要Xerces 2.8和Xerces 3.x。和Xalan 1.x
目标平台为RHEL6。
问题
通过RHEL回购,我们可以得到Xerces 3.0和Xalan 1.10 (针对Xerces 3.0构建)
我们安装了Xerces 2.8,在/usr/local.
我们不知道Xalan应该如何与Xerces (链接明智)一起工作。这就是:
我们不可能是唯一有这个问题的人,还是我们只是白痴?(这将是最好的方案.:)
发布于 2014-02-06 11:34:52
从我刚才在xerces.apache.org上看到的情况来看,Xerces 2.X和Xerces 3.x有不同的API,因此您需要连接其中一个或另一个。
正如您从xalan.apache.org中看到的那样:
“Xalan /C++ 1.11库需要Xerces-C/C++ XML Parser 3.0或更新版本3.1.1。
因此,您需要两个不同版本的Xalan库,除非您只能将依赖关系解析为Xalan1.11.0,在这种情况下,您只能安装一个Xalan和一个Xerces。
发布于 2019-08-14 10:36:11
xerces + xalan的大部分问题可能是由于xerces定义了Xerces_autoconf_config.hpp (生成的头)中的XML字符“XMLCh”。我一直试图构建在windows 3.2.2和xalan1.11上,并面临着类型误击.例如,DirectoryEnumerator.hpp,struct FindFileStruct,具有以下功能:
const XalanDOMChar* getName() const
{
return name;
}名称是"wchar_t name260“,来自corecrt_wio.h,struct _wfinddata64i32_t (它是Windows .)。XalanDOMChar是"XMLCh“的类型。
由于某种原因,xerces 3.1.1生成XMLCh为"wchar_t",而xerces 3.2.2 -生成"char16_t“。xalan有一些面向“wchar_t”的代码..。
https://stackoverflow.com/questions/21435867
复制相似问题