2014-01-29 26 views
0

背景多个版本和Xerces

我们必须依赖于几个Xalan和Xerces的版本在我们相当大的C++系统。这种情况多年来一直在积累,并且由于多种原因而不是最佳的。

现在我们正在从Solaris迁移到Linux,我们认为将第三方依赖关系整合到最低限度是有意义的。

我们确定我们仍然需要Xerces 2.8和Xerces 3.x.和Xalan 1.x

目标平台是RHEL6。

问题

从RHEL回购我们可以得到3.0的Xerces和Xalan 1.10(筑起的Xerces 3.0)

我们已经安装的Xerces 2.8,在/ usr /本地...

我们无法弄清楚Xalan如何与Xerces一起工作(链接方式)。那就是:

  • 我们是否需要两个Xalan库,一个是针对3.x和一个针对2.8的链接?
  • 我们可以有一个Xalan版本,让我们说1.11,(通过一些魔术)与两个版本的xerces一起使用?

我们不能是唯一一个有这个问题的人,还是我们只是白痴? (这将是最好的场景...... :))

+0

您可以更清楚地说明您正在讨论这些产品的C++版本,而不是Java版本。 –

回答

1

从我刚才在xerces.apache.org上看到的Xerces 2.X和Xerces 3.x有不同的API,因此您需要与一个或另一个链接。

正如可以从xalan.apache.org看到:

“的的Xalan-C/C++ 1.11库需要的Xerces-C/C++ XML解析器3.0或更新,版本3.1.1是优选的。” ,而Xalan 1.10需要Xerces 2.7.0(可能会使用2.8.0)。

所以是的,你需要两个不同版本的Xalan库,除非你只能解析你的依赖到Xalan 1.11.0,在这种情况下,你只能安装一个Xalan和一个Xerces。

+0

由于我们无法摆脱对Xerces 2.x和3.x的依赖关系,因此我们结束了两个Xalan版本。不幸的是,我们不能使用REHL的Xalan 1.10,因为它取决于Xerces 3.0。所以,我们现在有我们自己的Xalan 1.11 - > Xerces 3.1和Xalan 1.10 - > Xerces 2.8。这并不理想,但我们没有看到其他选择。感谢您的确认 – Fredrik