在QT中使用ITK时出现链接器错误

时间:2013-01-22 15:07:26

标签: itk

我试图在QT中使用ITK(QT新手并且在ITK中生锈)我终于能够定义包含路径和.lib但我仍然无法运行我的代码。这是一个简单的dicom读者:

typedef signed short InputPixelType;
const unsigned int InputDimension = 2;

typedef itk::Image< InputPixelType, InputDimension > InputImageType;

typedef itk::ImageFileReader< InputImageType > ReaderType;
ReaderType::Pointer reader = ReaderType::New();

reader->SetFileName( "C:\Users\dmilford\Desktop\PvMRIm1" );

typedef itk::GDCMImageIO        ImageIOType;
ImageIOType::Pointer gdcmImageIO = ImageIOType::New();

错误出现在最后一行,我收到以下错误

ITKIOGDCM-4.2.lib(itkGDCMImageIO.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall gdcm::Rescaler::SetPixelFormat(class gdcm::PixelFormat const &)" (__imp_?SetPixelFormat@Rescaler@gdcm@@QAEXABVPixelFormat@2@@Z) referenced in function "public: virtual void __thiscall itk::GDCMImageIO::Read(void *)" (?Read@GDCMImageIO@itk@@UAEXPAX@Z)

100多次。

有没有人知道如何解决这个链接器错误,或者知道我可能会得到答案的提示吗?

2 个答案:

答案 0 :(得分:1)

此链接错误可能来自ITK和您的Qt编译器之间不一致的编译版本。例如,确保您的ITK是使用MSVC2010构建的,而您的Qt SDK默认编译器是相同的。

答案 1 :(得分:1)

请尝试使用CMake生成构建文件。这需要花费更少的时间,所有问题都将消失。