2017-10-18 32 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()从程序完成。

有关详细信息,请参阅文档: