[Insight-users] Problems with Watershed class
Samuel Rodríguez Bescos
srodrigu at gbt . tfo . upm . es
Fri, 12 Jul 2002 17:52:27 +0200
Thanks a lot!!!
Samuel
----- Original Message -----
From: "Joshua Cates" <cates@sci.utah.edu>
To: "Samuel Rodríguez Bescos" <srodrigu@gbt.tfo.upm.es>
Cc: "Nils Hanssen" <hanssen@caesar.de>; <insight-users@public.kitware.com>
Sent: Friday, July 12, 2002 5:47 PM
Subject: Re: [Insight-users] Problems with Watershed class
> Hi,
>
> This problem is now fixed in the CVS repository.
>
>
> Josh.
>
> ______________________________
> Josh Cates
> School of Computer Science
> University of Utah
> Email: cates@sci.utah.edu
> Phone: (801) 587-7697
> URL: www.cs.utk.edu/~cates
>
>
> On Tue, 2 Jul 2002, Samuel Rodríguez Bescos wrote:
>
> > Thanks Nils for your help.
> >
> > It runs OK now with warning instead errors.
> >
> > Thank again,
> >
> > Samuel
> >
> >
> > ----- Original Message -----
> > From: Nils Hanssen
> > To: 'Samuel Rodríguez Bescos' ; insight-users@public.kitware.com
> > Sent: Tuesday, July 02, 2002 3:16 PM
> > Subject: RE: [Insight-users] Problems with Watershed class
> >
> >
> > Hi Samuel,
> >
> > I have exactly the same double symbols when linking my project with
the WatershedImageFilter.
> > It's not the clean way, but until the problem is discovered, you can
turn these errors into warnings by including the "/FORCE:MULTIPLE" in the
linking options of MSVC.
> >
> > Regards,
> > Nils
> > -----Original Message-----
> > From: insight-users-admin@public.kitware.com
[mailto:insight-users-admin@public.kitware.com]On Behalf Of Samuel Rodríguez
Bescos
> > Sent: Tuesday, July 02, 2002 2:04 PM
> > To: insight-users@public.kitware.com
> > Subject: [Insight-users] Problems with Watershed class
> >
> >
> > Hello everybody.
> >
> > I'm developing an example based in GaussianFilter example in order
to segmentate a PNG Image with the watershed algorithm. In the Base class I
have defined a member of the WatershedImageFilter class and the estructure
is the same of the Gaussian Filter example's.
> >
> > I have a linking problem the error lines are this:
> >
> > ==================
> >
> > -------------------Configuration: Segmentation - Win32
Debug--------------------
> > Linking...
> > liSegmentationConsole.obj : error LNK2005: "public: bool __thiscall
itk::watershed::OneWayEquivalencyTable::Add(unsigned long,unsigned long)"
(?Add@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z) already defined in
Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "public: void __thiscall
itk::watershed::OneWayEquivalencyTable::Flatten(void)"
(?Flatten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ) already defined in
Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "public: unsigned long
__thiscall itk::watershed::OneWayEquivalencyTable::RecursiveLookup(unsigned
int)const " (?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBEKI@Z)
already defined in Segmentatio
> > n.obj
> > liSegmentationConsole.obj : error LNK2005: "protected: virtual void
__thiscall
itk::watershed::OneWayEquivalencyTable::UpdateOutputInformation(void)"
(?UpdateOutputInformation@OneWayEquivalencyTable@watershed@itk@@MAEXXZ)
already defined in Segmenta
> > tion.obj
> > liSegmentationConsole.obj : error LNK2005: "protected: virtual void
__thiscall itk::watershed::OneWayEquivalencyTable::PrintSelf(class
std::basic_ostream<char,struct std::char_traits<char> > &,class
itk::Indent)const " (?PrintSelf@OneWayEquivalencyT
> >
able@watershed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@VInd
ent@3@@Z) already defined in Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "public: bool __thiscall
itk::watershed::EquivalencyTable::Add(unsigned long,unsigned long)"
(?Add@EquivalencyTable@watershed@itk@@QAE_NKK@Z) already defined in
Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "public: void __thiscall
itk::watershed::EquivalencyTable::Flatten(void)"
(?Flatten@EquivalencyTable@watershed@itk@@QAEXXZ) already defined in
Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "public: unsigned long
__thiscall itk::watershed::EquivalencyTable::RecursiveLookup(unsigned
int)const " (?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z)
already defined in Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "protected: virtual void
__thiscall itk::watershed::EquivalencyTable::UpdateOutputInformation(void)"
(?UpdateOutputInformation@EquivalencyTable@watershed@itk@@MAEXXZ) already
defined in Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "protected: virtual void
__thiscall itk::watershed::EquivalencyTable::PrintSelf(class
std::basic_ostream<char,struct std::char_traits<char> > &,class
itk::Indent)const " (?PrintSelf@EquivalencyTable@watersh
> >
ed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@VIndent@3@@Z)
already defined in Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "public: virtual void
__thiscall itk::WatershedMiniPipelineProgressCommand::Execute(class
itk::Object *,class itk::EventObject const &)"
(?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAVObject@2@A
> > BVEventObject@2@@Z) already defined in Segmentation.obj
> > liSegmentationConsole.obj : error LNK2005: "public: virtual void
__thiscall itk::WatershedMiniPipelineProgressCommand::Execute(class
itk::Object const *,class itk::EventObject const &)"
(?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBVObje
> > ct@2@ABVEventObject@2@@Z) already defined in Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "public: bool
__thiscall itk::watershed::OneWayEquivalencyTable::Add(unsigned
long,unsigned long)" (?Add@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z)
already defined in Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "public: void
__thiscall itk::watershed::OneWayEquivalencyTable::Flatten(void)"
(?Flatten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ) already defined in
Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "public: unsigned
long __thiscall
itk::watershed::OneWayEquivalencyTable::RecursiveLookup(unsigned int)const "
(?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBEKI@Z) already
defined in Segment
> > ation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "protected: virtual
void __thiscall
itk::watershed::OneWayEquivalencyTable::UpdateOutputInformation(void)"
(?UpdateOutputInformation@OneWayEquivalencyTable@watershed@itk@@MAEXXZ)
already defined in Segm
> > entation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "protected: virtual
void __thiscall itk::watershed::OneWayEquivalencyTable::PrintSelf(class
std::basic_ostream<char,struct std::char_traits<char> > &,class
itk::Indent)const " (?PrintSelf@OneWayEquivale
> >
ncyTable@watershed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@
VIndent@3@@Z) already defined in Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "public: bool
__thiscall itk::watershed::EquivalencyTable::Add(unsigned long,unsigned
long)" (?Add@EquivalencyTable@watershed@itk@@QAE_NKK@Z) already defined in
Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "public: void
__thiscall itk::watershed::EquivalencyTable::Flatten(void)"
(?Flatten@EquivalencyTable@watershed@itk@@QAEXXZ) already defined in
Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "public: unsigned
long __thiscall itk::watershed::EquivalencyTable::RecursiveLookup(unsigned
int)const " (?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z)
already defined in Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "protected: virtual
void __thiscall
itk::watershed::EquivalencyTable::UpdateOutputInformation(void)"
(?UpdateOutputInformation@EquivalencyTable@watershed@itk@@MAEXXZ) already
defined in Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "protected: virtual
void __thiscall itk::watershed::EquivalencyTable::PrintSelf(class
std::basic_ostream<char,struct std::char_traits<char> > &,class
itk::Indent)const " (?PrintSelf@EquivalencyTable@wat
> >
ershed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@VIndent@3@@Z
) already defined in Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "public: virtual void
__thiscall itk::WatershedMiniPipelineProgressCommand::Execute(class
itk::Object *,class itk::EventObject const &)"
(?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAVObject
> > @2@ABVEventObject@2@@Z) already defined in Segmentation.obj
> > liSegmentationConsoleBase.obj : error LNK2005: "public: virtual void
__thiscall itk::WatershedMiniPipelineProgressCommand::Execute(class
itk::Object const *,class itk::EventObject const &)"
(?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBV
> > Object@2@ABVEventObject@2@@Z) already defined in Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "public: bool
__thiscall itk::watershed::OneWayEquivalencyTable::Add(unsigned
long,unsigned long)" (?Add@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z)
already defined in Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "public: void
__thiscall itk::watershed::OneWayEquivalencyTable::Flatten(void)"
(?Flatten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ) already defined in
Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "public: unsigned long
__thiscall itk::watershed::OneWayEquivalencyTable::RecursiveLookup(unsigned
int)const " (?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBEKI@Z)
already defined in Segmenta
> > tion.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "protected: virtual
void __thiscall
itk::watershed::OneWayEquivalencyTable::UpdateOutputInformation(void)"
(?UpdateOutputInformation@OneWayEquivalencyTable@watershed@itk@@MAEXXZ)
already defined in Segme
> > ntation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "protected: virtual
void __thiscall itk::watershed::OneWayEquivalencyTable::PrintSelf(class
std::basic_ostream<char,struct std::char_traits<char> > &,class
itk::Indent)const " (?PrintSelf@OneWayEquivalen
> >
cyTable@watershed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@V
Indent@3@@Z) already defined in Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "public: bool
__thiscall itk::watershed::EquivalencyTable::Add(unsigned long,unsigned
long)" (?Add@EquivalencyTable@watershed@itk@@QAE_NKK@Z) already defined in
Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "public: void
__thiscall itk::watershed::EquivalencyTable::Flatten(void)"
(?Flatten@EquivalencyTable@watershed@itk@@QAEXXZ) already defined in
Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "public: unsigned long
__thiscall itk::watershed::EquivalencyTable::RecursiveLookup(unsigned
int)const " (?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z)
already defined in Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "protected: virtual
void __thiscall
itk::watershed::EquivalencyTable::UpdateOutputInformation(void)"
(?UpdateOutputInformation@EquivalencyTable@watershed@itk@@MAEXXZ) already
defined in Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "protected: virtual
void __thiscall itk::watershed::EquivalencyTable::PrintSelf(class
std::basic_ostream<char,struct std::char_traits<char> > &,class
itk::Indent)const " (?PrintSelf@EquivalencyTable@wate
> >
rshed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@VIndent@3@@Z)
already defined in Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "public: virtual void
__thiscall itk::WatershedMiniPipelineProgressCommand::Execute(class
itk::Object *,class itk::EventObject const &)"
(?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAVObject@
> > 2@ABVEventObject@2@@Z) already defined in Segmentation.obj
> > liSegmentationConsoleGUI.obj : error LNK2005: "public: virtual void
__thiscall itk::WatershedMiniPipelineProgressCommand::Execute(class
itk::Object const *,class itk::EventObject const &)"
(?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBVO
> > bject@2@ABVEventObject@2@@Z) already defined in Segmentation.obj
> > LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of
other libs; use /NODEFAULTLIB:library
> > Debug/Segmentation.exe : fatal error LNK1169: one or more multiply
defined symbols found
> > Error executing link.exe.
> >
> > Segmentation.exe - 37 error(s), 1 warning(s)
> >
> > ===================END=================================
> >
> > I'm using the Beta Release and MSVC 6.0.
> >
> > Could anybody Know what is hapening and help me?
> >
> > Thanks in advance.
> >
> > Samuel
> >
> >
> >