[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