2017-10-18 41 views
0

我面臨一個奇怪的問題,關於我的軟件的部署。奇怪的庫行爲與DCMTK

我編譯了一個庫,用於在後端打開Dicom文件DCMTK。還鏈接的是Qt5和一小部分Boost庫。 當我在我的系統上使用庫時,一切正常,正如團隊中其他開發人員的系統一樣。

現在談到部署。由於前端使用Python,因此我在庫的周圍創建了一個包裝器(Boost Python),並且再次運行一切正常。但是,只要我將庫轉移到另一個系統(與我用於開發的Mac OS X系統相同,即相同的Mac,相同的操作系統版本),情況開始變得很奇怪。

我可以打開DICOM集,除了一個:在此,該庫的DCMTK部分抱怨說,它無法找到合理的值(.bad()提供true)上打開各種DicomTags而事實上,大多數的值是0或各自的最大值。 當同一個系統的同事從頭開始編譯庫時,一切正常。

要創建庫,我首先將我的源代碼鏈接到DCMTK以創建一個狀態庫。然後將其與Boost Python模塊鏈接,該模塊是一個共享庫。

我希望有人有一個想法,我可以搜索,因爲我很迷茫。

怎樣才能讓同一個庫在同一個系統上產生不同的結果?不知何故,我認爲,彙編步驟會改變某些事情,但我不知道該去哪裏看。

任何幫助非常感謝。

回答

0

我的第一個猜測是:你確定DICOM數據字典實際上是加載的(如果沒有內置到庫中)?這可以通過調用dcmDataDict.isDictionaryLoaded()從程序完成。

有關詳細信息,請參閱文檔: