DCMTK

时间:2017-10-18 12:21:23

标签: c++ macos dcmtk

我面临一个关于软件部署的奇怪问题。

我编译了一个库,用于在后端打开带有 DCMTK 的Dicom文件。还链接了 Qt5 和一小部分Boost库。 当我在我的系统上使用库时,一切都运行正常,就像在团队中其他开发人员的系统上一样。

现在谈到部署。由于前端使用Python,我在库周围创建了一个包装器(Boost Python),一切都运行得很好。但是,只要我将库转移到另一个系统(与我用于开发的Mac OS X系统相同,即相同的Mac,相同的操作系统版本),事情就开始变得奇怪了。

我可以打开DICOM集,除了一个:在此,库的DCMTK部分抱怨它无法找到合理的值(.bad()传递true)来打开各种DicomTag,实际上,大多数值是0或相应的最大值。 当具有相同系统的同一个同事从头开始编译库时,一切正常。

要创建库,我首先将我的源链接到 DCMTK 以创建状态库。然后将其与Boost Python模块链接,后者是一个共享库。

我希望有人知道我可以搜索的地方,因为我在这里很丢失。

同一个库在同一系统上产生不同的结果怎么样?不知怎的,我认为,编译步骤会改变一些东西,但我不知道在哪里看。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我的第一个猜测是:你确定DICOM数据字典是否实际加载(如果没有内置到库中)?这可以通过调用dcmDataDict.isDictionaryLoaded()来从您的程序中完成。

有关详细信息,请参阅文档:http://support.dcmtk.org/docs/file_datadict.html