[IGSTK-Users] Linker Errors.

Özgür Güler ozgur_guler at gmx.at
Tue Apr 10 23:20:41 EDT 2012


Hi Ashwath,

if you properly configure your project using CMAKE then there is no
need to add libraries
with Microsoft Visual Studio after generating the .sln file, and if
everything is configured and compiled fine, then you shouldn't get any
LNK2001 errors

With properly I mean e.g.

FIND_PACKAGE(ITK required)
INCLUDE (${USE_ITK_FILE})

FIND_PACKAGE(VTK required)
INCLUDE(${USE_VTK_FILE})

...
TARGET_LINK_LIBRARIES(... vtkCommon etc.
                                             ${ITK_LIBRARIES} )


Regards,
Özgür



2012/4/10 Ashwath Hegde, ERS-HCLTech <Ashwathh at hcl.com>:
> Hi ALL,
>
>
>
> I am trying to compile my VTK,ITK code and I am getting the following linker
> errors.
>
> Which lib files am I missing to add in Project
> Properties->Linker->Input.Please help me solve this issue.
>
>
>
> Thanks ,
>
> Ashwath Hegde.
>
>
>
> imagesegmentation3D.obj : error LNK2019: unresolved external symbol
> "protected: class itk::DataObject * __thiscall
> itk::ProcessObject::GetPrimaryOutput(void)"
> (?GetPrimaryOutput at ProcessObject@itk@@IAEPAVDataObject at 2@XZ) referenced in
> function "public: class itk::Image<float,3> * __thiscall
> itk::ImageSource<class itk::Image<float,3> >::GetOutput(void)"
> (?GetOutput@?$ImageSource at V?$Image at M$02 at itk@@@itk@@QAEPAV?$Image at M$02 at 2@XZ)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> class itk::DataObject * __thiscall
> itk::ProcessObject::GetPrimaryOutput(void)"
> (?GetPrimaryOutput at ProcessObject@itk@@IAEPAVDataObject at 2@XZ)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "public:
> virtual class itk::TimeStamp const & __thiscall
> itk::Object::GetTimeStamp(void)const "
> (?GetTimeStamp at Object@itk@@UBEABVTimeStamp at 2@XZ)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::Object::SetTimeStamp(class itk::TimeStamp const
> &)" (?SetTimeStamp at Object@itk@@MAEXABVTimeStamp at 2@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "public:
> virtual class itk::SmartPointer<class itk::DataObject> __thiscall
> itk::ProcessObject::MakeOutput(class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > const &)"
> (?MakeOutput at ProcessObject@itk@@UAE?AV?$SmartPointer at VDataObject@itk@@@2 at ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::SetInput(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class itk::DataObject *)"
> (?SetInput at ProcessObject@itk@@MAEXABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@PAVDataObject at 2@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::RemoveInput(unsigned int)"
> (?RemoveInput at ProcessObject@itk@@MAEXI at Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::RemoveInput(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (?RemoveInput at ProcessObject@itk@@MAEXABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::SetPrimaryInput(class
> itk::DataObject *)"
> (?SetPrimaryInput at ProcessObject@itk@@MAEXPAVDataObject at 2@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::SetOutput(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class itk::DataObject *)"
> (?SetOutput at ProcessObject@itk@@MAEXABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@PAVDataObject at 2@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::RemoveOutput(unsigned int)"
> (?RemoveOutput at ProcessObject@itk@@MAEXI at Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::RemoveOutput(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (?RemoveOutput at ProcessObject@itk@@MAEXABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::SetPrimaryOutput(class
> itk::DataObject *)"
> (?SetPrimaryOutput at ProcessObject@itk@@MAEXPAVDataObject at 2@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::VerifyPreconditions(void)"
> (?VerifyPreconditions at ProcessObject@itk@@MAEXXZ)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "protected:
> virtual void __thiscall itk::ProcessObject::VerifyInputInformation(void)"
> (?VerifyInputInformation at ProcessObject@itk@@MAEXXZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "protected:
> class itk::DataObject * __thiscall itk::ProcessObject::GetOutput(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (?GetOutput at ProcessObject@itk@@IAEPAVDataObject at 2@ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@Z)
> referenced in function "public: virtual void __thiscall
> itk::ImageSource<class itk::Image<float,3> >::GraftOutput(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class itk::DataObject *)"
> (?GraftOutput@?$ImageSource at V?$Image at M$02 at itk@@@itk@@UAEXABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@PAVDataObject at 2@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "protected:
> class std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > __thiscall
> itk::ProcessObject::MakeNameFromIndex(unsigned int)const "
> (?MakeNameFromIndex at ProcessObject@itk@@IBE?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@I at Z)
> referenced in function "public: virtual void __thiscall
> itk::ImageSource<class itk::Image<float,3> >::GraftNthOutput(unsigned
> int,class itk::DataObject *)"
> (?GraftNthOutput@?$ImageSource at V?$Image at M$02 at itk@@@itk@@UAEXIPAVDataObject at 2@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> unsigned int __thiscall
> itk::ProcessObject::GetNumberOfIndexedOutputs(void)const "
> (?GetNumberOfIndexedOutputs at ProcessObject@itk@@QBEIXZ) referenced in
> function "public: virtual void __thiscall itk::ImageSource<class
> itk::Image<float,3> >::GraftNthOutput(unsigned int,class itk::DataObject *)"
> (?GraftNthOutput@?$ImageSource at V?$Image at M$02 at itk@@@itk@@UAEXIPAVDataObject at 2@@Z)
>
> 1>Segmentation.obj : error LNK2001: unresolved external symbol "public:
> virtual void __thiscall itk::DataObject::DataHasBeenGenerated(void)"
> (?DataHasBeenGenerated at DataObject@itk@@UAEXXZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> __thiscall itk::RealTimeStamp::~RealTimeStamp(void)"
> (??1RealTimeStamp at itk@@QAE at XZ) referenced in function "public: virtual void
> __thiscall itk::DataObject::SetRealTimeStamp(class itk::RealTimeStamp)"
> (?SetRealTimeStamp at DataObject@itk@@UAEXVRealTimeStamp at 2@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public: bool
> __thiscall itk::RealTimeStamp::operator!=(class itk::RealTimeStamp const
> &)const " (??9RealTimeStamp at itk@@QBE_NABV01@@Z) referenced in function
> "public: virtual void __thiscall itk::DataObject::SetRealTimeStamp(class
> itk::RealTimeStamp)"
> (?SetRealTimeStamp at DataObject@itk@@UAEXVRealTimeStamp at 2@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "class
> std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
> itk::operator<<(class std::basic_ostream<char,struct std::char_traits<char>
>> &,class itk::RealTimeStamp const &)"
> (??6itk@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@std@@AAV12 at ABVRealTimeStamp@0@@Z)
> referenced in function "public: virtual void __thiscall
> itk::DataObject::SetRealTimeStamp(class itk::RealTimeStamp)"
> (?SetRealTimeStamp at DataObject@itk@@UAEXVRealTimeStamp at 2@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public: void
> __thiscall itk::MultiThreader::SetNumberOfThreads(unsigned int)"
> (?SetNumberOfThreads at MultiThreader@itk@@QAEXI at Z) referenced in function
> "protected: virtual void __thiscall itk::ImageSource<class
> itk::Image<float,3> >::GenerateData(void)"
> (?GenerateData@?$ImageSource at V?$Image at M$02 at itk@@@itk@@MAEXXZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> __thiscall itk::ProgressReporter::ProgressReporter(class itk::ProcessObject
> *,unsigned int,unsigned long,unsigned long,float,float)"
> (??0ProgressReporter at itk@@QAE at PAVProcessObject@1 at IKKMM@Z) referenced in
> function "protected: virtual void __thiscall itk::ImageSeriesReader<class
> itk::Image<float,3> >::GenerateData(void)"
> (?GenerateData@?$ImageSeriesReader at V?$Image at M$02 at itk@@@itk@@MAEXXZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public: bool
> __thiscall itk::ImageIORegion::IsInside(class itk::ImageIORegion const
> &)const " (?IsInside at ImageIORegion@itk@@QBE_NABV12@@Z) referenced in
> function "public: virtual void __thiscall itk::ImageFileWriter<class
> itk::Image<float,2> >::Write(void)"
> (?Write@?$ImageFileWriter at V?$Image at M$01 at itk@@@itk@@UAEXXZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public: bool
> __thiscall vnl_matrix<double>::is_equal(class vnl_matrix<double> const
> &,double)const " (?is_equal@?$vnl_matrix at N@@QBE_NABV1 at N@Z) referenced in
> function "protected: virtual void __thiscall itk::ImageToImageFilter<class
> itk::Image<float,3>,class itk::Image<float,3>
>>::VerifyInputInformation(void)"
> (?VerifyInputInformation@?$ImageToImageFilter at V?$Image at M$02 at itk@@V12@@itk@@MAEXXZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public: bool
> __thiscall vnl_vector<double>::is_equal(class vnl_vector<double> const
> &,double)const " (?is_equal@?$vnl_vector at N@@QBE_NABV1 at N@Z) referenced in
> function "protected: virtual void __thiscall itk::ImageToImageFilter<class
> itk::Image<float,3>,class itk::Image<float,3>
>>::VerifyInputInformation(void)"
> (?VerifyInputInformation@?$ImageToImageFilter at V?$Image at M$02 at itk@@V12@@itk@@MAEXXZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> class vnl_vector<float> & __thiscall vnl_vector<float>::fill(float const &)"
> (?fill@?$vnl_vector at M@@QAEAAV1 at ABM@Z) referenced in function "public: void
> __thiscall itk::Array<float>::Fill(float const &)"
> (?Fill@?$Array at M@itk@@QAEXABM at Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public: void
> __thiscall itk::ImageIORegion::SetSize(unsigned long,unsigned long)"
> (?SetSize at ImageIORegion@itk@@QAEXKK at Z) referenced in function "public:
> static void __cdecl itk::ImageIORegionAdaptor<2>::Convert(class
> itk::ImageRegion<2> const &,class itk::ImageIORegion &,class itk::Index<2>
> const &)"
> (?Convert@?$ImageIORegionAdaptor@$01 at itk@@SAXABV?$ImageRegion@$01 at 2@AAVImageIORegion at 2@ABV?$Index@$01 at 2@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> unsigned long __thiscall itk::ImageIORegion::GetSize(unsigned long)const "
> (?GetSize at ImageIORegion@itk@@QBEKK at Z) referenced in function "public: static
> void __cdecl itk::ImageIORegionAdaptor<2>::Convert(class itk::ImageIORegion
> const &,class itk::ImageRegion<2> &,class itk::Index<2> const &)"
> (?Convert@?$ImageIORegionAdaptor@$01 at itk@@SAXABVImageIORegion at 2@AAV?$ImageRegion@$01 at 2@ABV?$Index@$01 at 2@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> static double * * __cdecl vnl_c_vector<double>::allocate_Tptr(unsigned int)"
> (?allocate_Tptr@?$vnl_c_vector at N@@SAPAPANI at Z) referenced in function
> "public: __thiscall vnl_matrix_ref<double>::vnl_matrix_ref<double>(unsigned
> int,unsigned int,double *)" (??0?$vnl_matrix_ref at N@@QAE at IIPAN@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "protected:
> class itk::DataObject * __thiscall itk::ProcessObject::GetInput(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (?GetInput at ProcessObject@itk@@IAEPAVDataObject at 2@ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@Z)
> referenced in function "public: virtual void __thiscall
> itk::ImageFileReader<class itk::Image<float,3>,class
> itk::DefaultConvertPixelTraits<float> >::SetFileNameInput(class
> itk::SimpleDataObjectDecorator<class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > > const *)"
> (?SetFileNameInput@?$ImageFileReader at V?$Image at M$02 at itk@@V?$DefaultConvertPixelTraits at M@2@@itk@@UAEXPBV?$SimpleDataObjectDecorator at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@2@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "protected:
> class itk::DataObject const * __thiscall itk::ProcessObject::GetInput(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)const "
> (?GetInput at ProcessObject@itk@@IBEPBVDataObject at 2@ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@Z)
> referenced in function "public: virtual class
> itk::SimpleDataObjectDecorator<class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > > const * __thiscall
> itk::ImageFileReader<class itk::Image<float,3>,class
> itk::DefaultConvertPixelTraits<float> >::GetFileNameInput(void)const "
> (?GetFileNameInput@?$ImageFileReader at V?$Image at M$02 at itk@@V?$DefaultConvertPixelTraits at M@2@@itk@@UBEPBV?$SimpleDataObjectDecorator at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@2 at XZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> static class std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > __cdecl
> itk::ImageIOBase::GetComponentTypeAsString(enum
> itk::ImageIOBase::IOComponentType)"
> (?GetComponentTypeAsString at ImageIOBase@itk@@SA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@W4IOComponentType at 12@@Z)
> referenced in function
> __catch$?GenerateData@?$ImageFileReader at V?$Image at M$02 at itk@@V?$DefaultConvertPixelTraits at M@2@@itk@@MAEXXZ$0
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> unsigned long __thiscall itk::ImageIORegion::GetNumberOfPixels(void)const "
> (?GetNumberOfPixels at ImageIORegion@itk@@QBEKXZ) referenced in function
> __catch$?GenerateData@?$ImageFileReader at V?$Image at M$02 at itk@@V?$DefaultConvertPixelTraits at M@2@@itk@@MAEXXZ$0
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public: bool
> __thiscall itk::MetaDataDictionary::HasKey(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)const "
> (?HasKey at MetaDataDictionary@itk@@QBE_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@Z)
> referenced in function "bool __cdecl itk::ExposeMetaData<class
> itk::Array<float> >(class itk::MetaDataDictionary &,class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >,class itk::Array<float> &)"
> (??$ExposeMetaData at V?$Array at M@itk@@@itk@@YA_NAAVMetaDataDictionary at 0@V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@AAV?$Array at M@0@@Z)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "protected:
> class itk::DataObject * __thiscall
> itk::ProcessObject::GetPrimaryInput(void)"
> (?GetPrimaryInput at ProcessObject@itk@@IAEPAVDataObject at 2@XZ) referenced in
> function "public: class itk::Image<float,2> const * __thiscall
> itk::ImageFileWriter<class itk::Image<float,2> >::GetInput(void)"
> (?GetInput@?$ImageFileWriter at V?$Image at M$01 at itk@@@itk@@QAEPBV?$Image at M$01 at 2@XZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "protected:
> class itk::DataObject const * __thiscall
> itk::ProcessObject::GetPrimaryInput(void)const "
> (?GetPrimaryInput at ProcessObject@itk@@IBEPBVDataObject at 2@XZ) referenced in
> function "public: class itk::Image<float,3> const * __thiscall
> itk::ImageToImageFilter<class itk::Image<float,3>,class itk::Image<float,3>
>>::GetInput(void)const "
> (?GetInput@?$ImageToImageFilter at V?$Image at M$02 at itk@@V12@@itk@@QBEPBV?$Image at M$02 at 2@XZ)
>
> 1>Segmentation.obj : error LNK2019: unresolved external symbol "public:
> static bool __cdecl itksys::SystemTools::FileExists(char const *)"
> (?FileExists at SystemTools@itksys@@SA_NPBD at Z) referenced in function
> "protected: void __thiscall itk::ImageFileReader<class
> itk::Image<float,3>,class itk::DefaultConvertPixelTraits<float>
>>::TestFileExistanceAndReadability(void)"
> (?TestFileExistanceAndReadability@?$ImageFileReader at V?$Image at M$02 at itk@@V?$DefaultConvertPixelTraits at M@2@@itk@@IAEXXZ)
>
> 1>D:\Ashwath\3DImageSegment_segmented region
> buffer\3DImageSegment\Debug\3DImageSegment.exe : fatal error LNK1120: 38
> unresolved externals
>
> 1>Build log was saved at "file://d:\Ashwath\3DImageSegment_segmented region
> buffer\3DImageSegment\3DImageSegment\Debug\BuildLog.htm"
>
> 1>3DImageSegment - 40 error(s), 0 warning(s)
>
> ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
>
>
>
>
> ________________________________
> ::DISCLAIMER::
> -----------------------------------------------------------------------------------------------------------------------
>
> The contents of this e-mail and any attachment(s) are confidential and
> intended for the named recipient(s) only.
> It shall not attach any liability on the originator or HCL or its
> affiliates. Any views or opinions presented in
> this email are solely those of the author and may not necessarily reflect
> the opinions of HCL or its affiliates.
> Any form of reproduction, dissemination, copying, disclosure, modification,
> distribution and / or publication of
> this message without the prior written consent of the author of this e-mail
> is strictly prohibited. If you have
> received this email in error please delete it and notify the sender
> immediately. Before opening any mail and
> attachments please check them for viruses and defect.
>
> -----------------------------------------------------------------------------------------------------------------------
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users



-- 
*********************************************************************
Dr. Dipl.-Ing. Özgür Güler, Bakk. techn. PhD
Research Assistant
4D-Visualization Laboratory
Univ. ENT Clinic
Innsbruck Medical University
Anichstr. 35, A-6020 Innsbruck, Austria

tel.: +43 512 504 23428, fax.: +43 512 504 25231

voxelmaster.eu
www.gueler.at
*********************************************************************



More information about the IGSTK-Users mailing list