2013-01-04 44 views
0

我使用gdcm官方發佈的版本構建ITK。但它沒有一些我在進一步編碼中使用的文件。所以我必須使用git版本的gdcm,因爲它具有我需要的,但是當我嘗試使用ITK_USE_SYSTEM_GDCM構建ITK並使用gdcm git版本來構建gdcm bin時遇到以下錯誤。使用GDCM git存儲庫構建itk時出錯

>------ Build started: Project: ITKIOGDCM, Configuration: Debug Win32 ------ 
80>Compiling... 
80>itkGDCMImageIO.cxx 
80>..\..\..\..\..\src\Modules\IO\GDCM\src\itkGDCMImageIO.cxx(41) : fatal error C1083: Cannot open include file: 'gdcmImageHelper.h': No such file or directory 
80>itkGDCMSeriesFileNames.cxx 
80>D:\ITK\src\Modules\IO\GDCM\include\itkGDCMSeriesFileNames.h(154) : error C2664: 'void gdcm::SerieHelper::AddRestriction(const gdcm::TagKey &)' : cannot convert parameter 1 from 'const std::string' to 'const gdcm::TagKey &' 
80>  Reason: cannot convert from 'const std::string' to 'const gdcm::TagKey' 
80>  No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 
80>..\..\..\..\..\src\Modules\IO\GDCM\src\itkGDCMSeriesFileNames.cxx(29) : error C2248: 'gdcm::SerieHelper::SerieHelper' : cannot access protected member declared in class 'gdcm::SerieHelper' 
80>  D:\GDCM\gdcm\src\gdcmSerieHelper.h(198) : see declaration of 'gdcm::SerieHelper::SerieHelper' 
80>  D:\GDCM\gdcm\src\gdcmSerieHelper.h(64) : see declaration of 'gdcm::SerieHelper' 
80>..\..\..\..\..\src\Modules\IO\GDCM\src\itkGDCMSeriesFileNames.cxx(160) : error C2027: use of undefined type 'gdcm::File' 
80>  D:\GDCM\gdcm\src\gdcmSerieHelper.h(34) : see declaration of 'gdcm::File' 
80>..\..\..\..\..\src\Modules\IO\GDCM\src\itkGDCMSeriesFileNames.cxx(160) : error C2227: left of '->IsReadable' must point to class/struct/union/generic type 
80>..\..\..\..\..\src\Modules\IO\GDCM\src\itkGDCMSeriesFileNames.cxx(163) : error C2027: use of undefined type 'gdcm::File' 
80>  D:\GDCM\gdcm\src\gdcmSerieHelper.h(34) : see declaration of 'gdcm::File' 
80>..\..\..\..\..\src\Modules\IO\GDCM\src\itkGDCMSeriesFileNames.cxx(163) : error C2227: left of '->GetFileName' must point to class/struct/union/generic type 
80>..\..\..\..\..\src\Modules\IO\GDCM\src\itkGDCMSeriesFileNames.cxx(166) : error C2027: use of undefined type 'gdcm::File' 
80>  D:\GDCM\gdcm\src\gdcmSerieHelper.h(34) : see declaration of 'gdcm::File' 
80>..\..\..\..\..\src\Modules\IO\GDCM\src\itkGDCMSeriesFileNames.cxx(166) : error C2227: left of '->GetFileName' must point to class/struct/union/generic type 
80>itkGDCMImageIOFactory.cxx 
80>Generating Code... 
80>Build log was saved at "file://d:\ITK\binGDCM\Modules\IO\GDCM\src\ITKIOGDCM.dir\Debug\BuildLog.htm" 
80>ITKIOGDCM - 9 error(s), 0 warning(s) 

請大家幫忙。

回答

1

您正在將非常古老且不贊成的GDCM 1.x與GDCM 2.x混合使用。他們實際上是API不兼容。