2017-10-18 1 views
0

내 소프트웨어 배포와 관련하여 이상한 문제가 있습니다.DCMTK로 인한 이상한 라이브러리 동작

저는 백컴에 DCMTK으로 Dicom 파일을 열 수있는 라이브러리를 컴파일했습니다. 또한 Qt5에 링크되어 있으며 Boost 라이브러리의 일부분입니다. 시스템에서 라이브러리를 사용할 때 팀의 다른 개발자 시스템과 마찬가지로 모든 것이 올바르게 작동합니다.

이제 배포가 시작됩니다. 프론트 엔드는 파이썬을 사용하기 때문에 라이브러리 주위에 래퍼 (Boost Python)를 만들었고 모든 것이 잘 작동합니다. 그러나 라이브러리를 다른 시스템 (예 : 개발 용 Mac OS X 시스템, 즉 동일한 Mac, 동일한 OS 버전)으로 전송하자마자 상황이 이상해집니다.

내가 하나를 제외하고는 DICOM 세트를 열 수 있습니다 : 이에는 라이브러리의 DCMTK 부분은 다양한 DicomTags 열기에 적당한 값을 (.bad()true을 제공합니다) 찾을 수 없다는 불평 실제로, 대부분의 값은 0 또는 각각의 최대 값 . 같은 시스템을 가진 같은 동료가 처음부터 라이브러리를 컴파일하면 모든 것이 올바르게 작동합니다.

라이브러리를 만들려면 먼저 내 소스를 DCMTK에 연결하여 상태 라이브러리를 만듭니다. 이것은 공유 라이브러리 인 Boost Python 모듈과 연결됩니다.

누군가가 내가 여기서 검색 할 수있는 아이디어가 있기를 바랍니다.

어떻게 동일한 라이브러리가 동일한 시스템에서 다른 결과를 생성 할 수 있습니까? 어떻게 든 컴파일 단계가 바뀌는 것 같지만 어디를보아야할지 모르겠다.

도움이 매우 감사합니다.

답변

0

첫 번째 추측은 다음과 같습니다. DICOM 데이터 사전이 실제로로드되었는지 (라이브러리에 내장되어 있지 않은 경우) 확인 했습니까? 이것은 dcmDataDict.isDictionaryLoaded()를 호출하여 프로그램에서 수행 할 수 있습니다.

자세한 내용은 다음 문서를 참조하십시오.

관련 문제