2014-01-29 29 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