[Insight-users] ITKDICOMParser.lib and VtkDICOMParser.lib duplicate symbols at link time

Pablo Cosias pcosias at hotmail.com
Thu, 04 Mar 2004 19:48:41 +0100


Hola, Luis Ibanez

Estoy utilizando ITK(cvs version) y VTK (release 4.4) en un proyecto.
Ya tuve un problema antes parecido con las librerias jpeg de vtk e itk, 
pero lo solucionasteis bien.

Podeis solucionar esto tambien. El mensaje de error que consigo al 
compilar es el siguiente:

Linking...
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: __thiscall 
DICOMParser::DICOMParser(void)" (??0DICOMParser at  at QAE at XZ) already defined 
in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > const & __thiscall 
DICOMParser::GetFileName(void)" 
(?GetFileName at DICOMParser at  at QAEABV?$basic_string at 
DU?$char_traits at D at std at  at V?$allocator at D at 2 at  at std at  at XZ) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: bool 
__thiscall DICOMParser::OpenFile(class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)" 
(?OpenFile at DICOMParser at  at QAE_NABV?$basic_string at DU?$
char_traits at D at std at  at V?$allocator at D at 2 at  at std at  at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: virtual 
__thiscall DICOMParser::~DICOMParser(void)" (??1DICOMParser at  at UAE at XZ) 
already defined in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: bool 
__thiscall DICOMParser::ReadHeader(void)" 
(?ReadHeader at DICOMParser at  at QAE_NXZ) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "protected: void 
__thiscall DICOMParser::InitTypeMap(void)" 
(?InitTypeMap at DICOMParser at  at IAEXXZ) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: void 
__thiscall DICOMParser::SetDICOMTagCallbacks(unsigned short,unsigned 
short,enum DICOMParser::VRTypes,class std::vector<class DICOMCallback 
*,class std::allocator<class DICOMCallback
*> > *)" 
(?SetDICOMTagCallbacks at DICOMParser at  at QAEXGGW4VRTypes at 1 at PAV?$vector at PAVDICOMCallback at  at V?$allocator at PAVDICOMCallback at  at  at std at  at  at std at  at  at Z) 
already defined in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: static 
bool __cdecl DICOMParser::CheckMagic(char *)" 
(?CheckMagic at DICOMParser at  at SA_NPAD at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "protected: void 
__thiscall DICOMParser::DumpTag(class std::basic_ostream<char,struct 
std::char_traits<char> > &,unsigned short,unsigned short,enum 
DICOMParser::VRTypes,unsigned char *,int)" (?Dum
pTag at DICOMParser at  at IAEXAAV?$basic_ostream at DU?$char_traits at D at std at  at  at std at  at GGW4VRTypes at 1 at PAEH at Z) 
already defined in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: void 
__thiscall DICOMParser::ModalityTag(unsigned short,unsigned short,enum 
DICOMParser::VRTypes,unsigned char *,int)" 
(?ModalityTag at DICOMParser at  at QAEXGGW4VRTypes at 1 at PAEH at Z) already defined
 in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: void 
__thiscall DICOMParser::AddDICOMTagCallbacks(unsigned short,unsigned 
short,enum DICOMParser::VRTypes,class std::vector<class DICOMCallback 
*,class std::allocator<class DICOMCallback
*> > *)" 
(?AddDICOMTagCallbacks at DICOMParser at  at QAEXGGW4VRTypes at 1 at PAV?$vector at PAVDICOMCallback at  at V?$allocator at PAVDICOMCallback at  at  at std at  at  at std at  at  at Z) 
already defined in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: void 
__thiscall DICOMParser::AddDICOMTagCallback(unsigned short,unsigned 
short,enum DICOMParser::VRTypes,class DICOMCallback *)" 
(?AddDICOMTagCallback at DICOMParser at  at QAEXGGW4VRTypes at 1 at PAVDI
COMCallback at  at  at Z) already defined in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: void 
__thiscall DICOMParser::AddDICOMTagCallbackToAllTags(class DICOMCallback 
*)" 
(?AddDICOMTagCallbackToAllTags at DICOMParser at  at QAEXPAVDICOMCallback at  at  at Z) 
already defined in vtkDICOMParser.l
ib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "protected: bool 
__thiscall DICOMParser::ParseExplicitRecord(unsigned short,unsigned 
short,int &,enum DICOMParser::VRTypes &)" 
(?ParseExplicitRecord at DICOMParser at  at IAE_NGGAAHAAW4VRTypes at 1 at  at Z) alread
y defined in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "protected: bool 
__thiscall DICOMParser::ParseImplicitRecord(unsigned short,unsigned 
short,int &,enum DICOMParser::VRTypes &)" 
(?ParseImplicitRecord at DICOMParser at  at IAE_NGGAAHAAW4VRTypes at 1 at  at Z) alread
y defined in vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: void 
__thiscall DICOMParser::TransferSyntaxCallback(class DICOMParser 
*,unsigned short,unsigned short,enum DICOMParser::VRTypes,unsigned char 
*,int)" (?TransferSyntaxCallback at DICOMParser at 
 at QAEXPAV1 at GGW4VRTypes at 1 at PAEH at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: void 
__thiscall DICOMParser::GetGroupsElementsDatatypes(class 
std::vector<unsigned short,class std::allocator<unsigned short> > 
&,class std::vector<unsigned short,class std::allocator<uns
igned short> > &,class std::vector<enum DICOMParser::VRTypes,class 
std::allocator<enum DICOMParser::VRTypes> > &)" 
(?GetGroupsElementsDatatypes at DICOMParser at  at QAEXAAV?$vector at GV?$allocator at G at std at  at  at std at  at 0AAV?$vector at W4VRTypes at DICOMParser at  at V?$allocator at 
W4VRTypes at DICOMParser at  at  at std at  at  at 3 at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "public: void 
__thiscall DICOMParser::ClearAllDICOMTagCallbacks(void)" 
(?ClearAllDICOMTagCallbacks at DICOMParser at  at QAEXXZ) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "private: 
__thiscall DICOMParser::DICOMParser(class DICOMParser const &)" 
(??0DICOMParser at  at AAE at ABV0 at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : error LNK2005: "private: void 
__thiscall DICOMParser::operator=(class DICOMParser const &)" 
(??4DICOMParser at  at AAEXABV0 at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj)
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: 
__thiscall DICOMParser::DICOMParser(void)" (??0DICOMParser at  at QAE at XZ) 
already defined in vtkDICOMParser.lib(DICOMParser.obj); second 
definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > const & __thiscall 
DICOMParser::GetFileName(void)" 
(?GetFileName at DICOMParser at  at QAEABV?$basic_strin
g at DU?$char_traits at D at std at  at V?$allocator at D at 2 at  at std at  at XZ) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: bool 
__thiscall DICOMParser::OpenFile(class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)" 
(?OpenFile at DICOMParser at  at QAE_NABV?$basic_string at DU
?$char_traits at D at std at  at V?$allocator at D at 2 at  at std at  at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: virtual 
__thiscall DICOMParser::~DICOMParser(void)" (??1DICOMParser at  at UAE at XZ) 
already defined in vtkDICOMParser.lib(DICOMParser.obj); second 
definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: bool 
__thiscall DICOMParser::ReadHeader(void)" 
(?ReadHeader at DICOMParser at  at QAE_NXZ) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "protected: void 
__thiscall DICOMParser::InitTypeMap(void)" 
(?InitTypeMap at DICOMParser at  at IAEXXZ) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: void 
__thiscall DICOMParser::SetDICOMTagCallbacks(unsigned short,unsigned 
short,enum DICOMParser::VRTypes,class std::vector<class DICOMCallback 
*,class std::allocator<class DICOMCallbac
k *> > *)" 
(?SetDICOMTagCallbacks at DICOMParser at  at QAEXGGW4VRTypes at 1 at PAV?$vector at PAVDICOMCallback at  at V?$allocator at PAVDICOMCallback at  at  at std at  at  at std at  at  at Z) 
already defined in vtkDICOMParser.lib(DICOMParser.obj); second 
definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: static 
bool __cdecl DICOMParser::CheckMagic(char *)" 
(?CheckMagic at DICOMParser at  at SA_NPAD at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "protected: void 
__thiscall DICOMParser::DumpTag(class std::basic_ostream<char,struct 
std::char_traits<char> > &,unsigned short,unsigned short,enum 
DICOMParser::VRTypes,unsigned char *,int)" (?D
umpTag at DICOMParser at  at IAEXAAV?$basic_ostream at DU?$char_traits at D at std at  at  at std at  at GGW4VRTypes at 1 at PAEH at Z) 
already defined in vtkDICOMParser.lib(DICOMParser.obj); second 
definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: void 
__thiscall DICOMParser::ModalityTag(unsigned short,unsigned short,enum 
DICOMParser::VRTypes,unsigned char *,int)" 
(?ModalityTag at DICOMParser at  at QAEXGGW4VRTypes at 1 at PAEH at Z) already defin
ed in vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: void 
__thiscall DICOMParser::AddDICOMTagCallbacks(unsigned short,unsigned 
short,enum DICOMParser::VRTypes,class std::vector<class DICOMCallback 
*,class std::allocator<class DICOMCallbac
k *> > *)" 
(?AddDICOMTagCallbacks at DICOMParser at  at QAEXGGW4VRTypes at 1 at PAV?$vector at PAVDICOMCallback at  at V?$allocator at PAVDICOMCallback at  at  at std at  at  at std at  at  at Z) 
already defined in vtkDICOMParser.lib(DICOMParser.obj); second 
definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: void 
__thiscall DICOMParser::AddDICOMTagCallback(unsigned short,unsigned 
short,enum DICOMParser::VRTypes,class DICOMCallback *)" 
(?AddDICOMTagCallback at DICOMParser at  at QAEXGGW4VRTypes at 1 at PAV
DICOMCallback at  at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: void 
__thiscall DICOMParser::AddDICOMTagCallbackToAllTags(class DICOMCallback 
*)" 
(?AddDICOMTagCallbackToAllTags at DICOMParser at  at QAEXPAVDICOMCallback at  at  at Z) 
already defined in vtkDICOMParser
lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "protected: bool 
__thiscall DICOMParser::ParseExplicitRecord(unsigned short,unsigned 
short,int &,enum DICOMParser::VRTypes &)" 
(?ParseExplicitRecord at DICOMParser at  at IAE_NGGAAHAAW4VRTypes at 1 at  at Z) alre
ady defined in vtkDICOMParser.lib(DICOMParser.obj); second definition 
ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "protected: bool 
__thiscall DICOMParser::ParseImplicitRecord(unsigned short,unsigned 
short,int &,enum DICOMParser::VRTypes &)" 
(?ParseImplicitRecord at DICOMParser at  at IAE_NGGAAHAAW4VRTypes at 1 at  at Z) alre
ady defined in vtkDICOMParser.lib(DICOMParser.obj); second definition 
ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: void 
__thiscall DICOMParser::TransferSyntaxCallback(class DICOMParser 
*,unsigned short,unsigned short,enum DICOMParser::VRTypes,unsigned char 
*,int)" (?TransferSyntaxCallback at DICOMParse
r at  at QAEXPAV1 at GGW4VRTypes at 1 at PAEH at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: void 
__thiscall DICOMParser::GetGroupsElementsDatatypes(class 
std::vector<unsigned short,class std::allocator<unsigned short> > 
&,class std::vector<unsigned short,class std::allocator<u
nsigned short> > &,class std::vector<enum DICOMParser::VRTypes,class 
std::allocator<enum DICOMParser::VRTypes> > &)" 
(?GetGroupsElementsDatatypes at DICOMParser at  at QAEXAAV?$vector at GV?$allocator at G at std at  at  at std at  at 0AAV?$vector at W4VRTypes at DICOMParser at  at V?$allocato
r at W4VRTypes at DICOMParser at  at  at std at  at  at 3 at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "public: void 
__thiscall DICOMParser::ClearAllDICOMTagCallbacks(void)" 
(?ClearAllDICOMTagCallbacks at DICOMParser at  at QAEXXZ) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition
ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "private: 
__thiscall DICOMParser::DICOMParser(class DICOMParser const &)" 
(??0DICOMParser at  at AAE at ABV0 at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
ITKDICOMParser.lib(DICOMParser.obj) : warning LNK4006: "private: void 
__thiscall DICOMParser::operator=(class DICOMParser const &)" 
(??4DICOMParser at  at AAEXABV0 at  at Z) already defined in 
vtkDICOMParser.lib(DICOMParser.obj); second definition ignored
   Creating library Debug/main.lib and object Debug/main.exp
Debug/main.exe : fatal error LNK1169: one or more multiply defined 
symbols found
Error executing link.exe.


Gracias por adelantado, y Saludos