[Insight-users] Problems with Watershed class

Samuel Rodríguez Bescos srodrigu at gbt . tfo . upm . es
Tue, 2 Jul 2002 17:21:06 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0005_01C221EC.D9C6D440
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thanks Nils for your help.

It runs OK now with warning instead errors.

Thank again,

Samuel


  ----- Original Message -----=20
  From: Nils Hanssen=20
  To: 'Samuel Rodr=EDguez Bescos' ; insight-users@public.kitware.com=20
  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.=20

  Regards,
  Nils
    -----Original Message-----
    From: insight-users-admin@public.kitware.com =
[mailto:insight-users-admin@public.kitware.com]On Behalf Of Samuel =
Rodr=EDguez Bescos
    Sent: Tuesday, July 02, 2002 2:04 PM
    To: insight-users@public.kitware.com
    Subject: [Insight-users] Problems with Watershed class


    Hello everybody.=20

    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:

    =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

    -------------------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@@V=
Indent@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@@@st=
d@@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=
@@VIndent@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)
    =20
    =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DEND=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D

      I'm using the Beta Release and MSVC 6.0.

    Could anybody Know what is hapening and help me?

    Thanks in advance.

    Samuel



------=_NextPart_000_0005_01C221EC.D9C6D440
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2715.400" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Thanks Nils for your help.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>It runs OK now with warning instead=20
errors.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thank again,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Samuel</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV=20
  style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
  <A title=3Dhanssen@caesar.de href=3D"mailto:hanssen@caesar.de">Nils =
Hanssen</A>=20
  </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
title=3Dsrodrigu@gbt.tfo.upm.es=20
  href=3D"mailto:srodrigu@gbt.tfo.upm.es">'Samuel Rodr=EDguez =
Bescos'</A> ; <A=20
  title=3Dinsight-users@public.kitware.com=20
  =
href=3D"mailto:insight-users@public.kitware.com">insight-users@public.kit=
ware.com</A>=20
  </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Tuesday, July 02, 2002 =
3:16=20
PM</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> RE: [Insight-users] =
Problems=20
  with Watershed class</DIV>
  <DIV><BR></DIV>
  <DIV><SPAN class=3D328051013-02072002><FONT face=3DArial =
color=3D#0000ff size=3D2>Hi=20
  Samuel,</FONT></SPAN></DIV>
  <DIV><SPAN class=3D328051013-02072002><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D328051013-02072002><FONT face=3DArial =
color=3D#0000ff size=3D2>I=20
  have exactly the same double symbols when linking my project with the=20
  WatershedImageFilter.</FONT></SPAN></DIV>
  <DIV><SPAN class=3D328051013-02072002></SPAN><SPAN=20
  class=3D328051013-02072002><FONT face=3DArial color=3D#0000ff =
size=3D2>It's not the=20
  clean way, but until the problem is discovered, you can turn these =
errors into=20
  warnings by including the "/FORCE:MULTIPLE" in the linking options of =
MSVC.=20
  </FONT></SPAN></DIV>
  <DIV><SPAN class=3D328051013-02072002><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D328051013-02072002><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>Regards,</FONT></SPAN></DIV>
  <DIV><SPAN class=3D328051013-02072002><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>Nils</FONT></SPAN></DIV>
  <BLOCKQUOTE dir=3Dltr=20
  style=3D"PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px =
solid; MARGIN-RIGHT: 0px">
    <DIV class=3DOutlookMessageHeader dir=3Dltr align=3Dleft><FONT =
face=3DTahoma=20
    size=3D2>-----Original Message-----<BR><B>From:</B> <A=20
    =
href=3D"mailto:insight-users-admin@public.kitware.com">insight-users-admi=
n@public.kitware.com</A>=20
    [mailto:insight-users-admin@public.kitware.com]<B>On Behalf Of =
</B>Samuel=20
    Rodr=EDguez Bescos<BR><B>Sent:</B> Tuesday, July 02, 2002 2:04=20
    PM<BR><B>To:</B> insight-users@public.kitware.com<BR><B>Subject:</B> =

    [Insight-users] Problems with Watershed class<BR><BR></FONT></DIV>
    <DIV><FONT face=3DArial size=3D2>Hello everybody. </FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>I'm developing an example based in=20
    GaussianFilter example in order to segmentate a&nbsp;PNG Image with =
the=20
    watershed algorithm. In the Base class I&nbsp;have defined a member =
of the=20
    WatershedImageFilter class and&nbsp;the estructure is the same of =
the=20
    Gaussian Filter example's.</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>I have a linking problem the error =
lines are=20
    this:</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial =
size=3D2>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</FONT></D=
IV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>-------------------Configuration: =
Segmentation=20
    - Win32 =
Debug--------------------<BR>Linking...<BR>liSegmentationConsole.obj=20
    : error LNK2005: "public: bool __thiscall=20
    itk::watershed::OneWayEquivalencyTable::Add(unsigned long,unsigned =
long)"=20
    (<A=20
    =
href=3D"mailto:?Add@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z">?Add=
@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsole.obj : =
error=20
    LNK2005: "public: void __thiscall=20
    itk::watershed::OneWayEquivalencyTable::Flatten(void)" (<A=20
    =
href=3D"mailto:?Flatten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ">?Fl=
atten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsole.obj : =
error=20
    LNK2005: "public: unsigned long __thiscall=20
    itk::watershed::OneWayEquivalencyTable::RecursiveLookup(unsigned =
int)const "=20
    (<A=20
    =
href=3D"mailto:?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBE=
KI@Z">?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBEKI@Z</A>)=
=20
    already defined in Segmentatio<BR>n.obj<BR>liSegmentationConsole.obj =
: error=20
    LNK2005: "protected: virtual void __thiscall=20
    =
itk::watershed::OneWayEquivalencyTable::UpdateOutputInformation(void)" =
(<A=20
    =
href=3D"mailto:?UpdateOutputInformation@OneWayEquivalencyTable@watershed@=
itk@@MAEXXZ">?UpdateOutputInformation@OneWayEquivalencyTable@watershed@it=
k@@MAEXXZ</A>)=20
    already defined in Segmenta<BR>tion.obj<BR>liSegmentationConsole.obj =
: error=20
    LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::OneWayEquivalencyTable::PrintSelf(class=20
    std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt;=20
    &amp;,class itk::Indent)const " (<A=20
    =
href=3D"mailto:?PrintSelf@OneWayEquivalencyT">?PrintSelf@OneWayEquivalenc=
yT</A><BR><A=20
    =
href=3D"mailto:able@watershed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits=
@D@std@@@std@@VIndent@3@@Z">able@watershed@itk@@MBEXAAV?$basic_ostream@DU=
?$char_traits@D@std@@@std@@VIndent@3@@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsole.obj : =
error=20
    LNK2005: "public: bool __thiscall=20
    itk::watershed::EquivalencyTable::Add(unsigned long,unsigned long)" =
(<A=20
    =
href=3D"mailto:?Add@EquivalencyTable@watershed@itk@@QAE_NKK@Z">?Add@Equiv=
alencyTable@watershed@itk@@QAE_NKK@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsole.obj : =
error=20
    LNK2005: "public: void __thiscall=20
    itk::watershed::EquivalencyTable::Flatten(void)" (<A=20
    =
href=3D"mailto:?Flatten@EquivalencyTable@watershed@itk@@QAEXXZ">?Flatten@=
EquivalencyTable@watershed@itk@@QAEXXZ</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsole.obj : =
error=20
    LNK2005: "public: unsigned long __thiscall=20
    itk::watershed::EquivalencyTable::RecursiveLookup(unsigned int)const =
" (<A=20
    =
href=3D"mailto:?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z">=
?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsole.obj : =
error=20
    LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::EquivalencyTable::UpdateOutputInformation(void)" (<A =

    =
href=3D"mailto:?UpdateOutputInformation@EquivalencyTable@watershed@itk@@M=
AEXXZ">?UpdateOutputInformation@EquivalencyTable@watershed@itk@@MAEXXZ</A=
>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsole.obj : =
error=20
    LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::EquivalencyTable::PrintSelf(class=20
    std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt;=20
    &amp;,class itk::Indent)const " (<A=20
    =
href=3D"mailto:?PrintSelf@EquivalencyTable@watersh">?PrintSelf@Equivalenc=
yTable@watersh</A><BR><A=20
    =
href=3D"mailto:ed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std=
@@VIndent@3@@Z">ed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@st=
d@@VIndent@3@@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsole.obj : =
error=20
    LNK2005: "public: virtual void __thiscall=20
    itk::WatershedMiniPipelineProgressCommand::Execute(class itk::Object =
*,class=20
    itk::EventObject const &amp;)" (<A=20
    =
href=3D"mailto:?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAV=
Object@2@A">?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAVObj=
ect@2@A</A><BR><A=20
    href=3D"mailto:BVEventObject@2@@Z">BVEventObject@2@@Z</A>) already =
defined in=20
    Segmentation.obj<BR>liSegmentationConsole.obj : error LNK2005: =
"public:=20
    virtual void __thiscall=20
    itk::WatershedMiniPipelineProgressCommand::Execute(class itk::Object =
const=20
    *,class itk::EventObject const &amp;)" (<A=20
    =
href=3D"mailto:?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBV=
Obje">?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBVObje</A><=
BR><A=20
    =
href=3D"mailto:ct@2@ABVEventObject@2@@Z">ct@2@ABVEventObject@2@@Z</A>) =
already=20
    defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj : error =

    LNK2005: "public: bool __thiscall=20
    itk::watershed::OneWayEquivalencyTable::Add(unsigned long,unsigned =
long)"=20
    (<A=20
    =
href=3D"mailto:?Add@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z">?Add=
@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "public: void __thiscall=20
    itk::watershed::OneWayEquivalencyTable::Flatten(void)" (<A=20
    =
href=3D"mailto:?Flatten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ">?Fl=
atten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "public: unsigned long __thiscall=20
    itk::watershed::OneWayEquivalencyTable::RecursiveLookup(unsigned =
int)const "=20
    (<A=20
    =
href=3D"mailto:?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBE=
KI@Z">?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBEKI@Z</A>)=
=20
    already defined in =
Segment<BR>ation.obj<BR>liSegmentationConsoleBase.obj :=20
    error LNK2005: "protected: virtual void __thiscall=20
    =
itk::watershed::OneWayEquivalencyTable::UpdateOutputInformation(void)" =
(<A=20
    =
href=3D"mailto:?UpdateOutputInformation@OneWayEquivalencyTable@watershed@=
itk@@MAEXXZ">?UpdateOutputInformation@OneWayEquivalencyTable@watershed@it=
k@@MAEXXZ</A>)=20
    already defined in =
Segm<BR>entation.obj<BR>liSegmentationConsoleBase.obj :=20
    error LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::OneWayEquivalencyTable::PrintSelf(class=20
    std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt;=20
    &amp;,class itk::Indent)const " (<A=20
    =
href=3D"mailto:?PrintSelf@OneWayEquivale">?PrintSelf@OneWayEquivale</A><B=
R><A=20
    =
href=3D"mailto:ncyTable@watershed@itk@@MBEXAAV?$basic_ostream@DU?$char_tr=
aits@D@std@@@std@@VIndent@3@@Z">ncyTable@watershed@itk@@MBEXAAV?$basic_os=
tream@DU?$char_traits@D@std@@@std@@VIndent@3@@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "public: bool __thiscall=20
    itk::watershed::EquivalencyTable::Add(unsigned long,unsigned long)" =
(<A=20
    =
href=3D"mailto:?Add@EquivalencyTable@watershed@itk@@QAE_NKK@Z">?Add@Equiv=
alencyTable@watershed@itk@@QAE_NKK@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "public: void __thiscall=20
    itk::watershed::EquivalencyTable::Flatten(void)" (<A=20
    =
href=3D"mailto:?Flatten@EquivalencyTable@watershed@itk@@QAEXXZ">?Flatten@=
EquivalencyTable@watershed@itk@@QAEXXZ</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "public: unsigned long __thiscall=20
    itk::watershed::EquivalencyTable::RecursiveLookup(unsigned int)const =
" (<A=20
    =
href=3D"mailto:?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z">=
?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::EquivalencyTable::UpdateOutputInformation(void)" (<A =

    =
href=3D"mailto:?UpdateOutputInformation@EquivalencyTable@watershed@itk@@M=
AEXXZ">?UpdateOutputInformation@EquivalencyTable@watershed@itk@@MAEXXZ</A=
>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::EquivalencyTable::PrintSelf(class=20
    std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt;=20
    &amp;,class itk::Indent)const " (<A=20
    =
href=3D"mailto:?PrintSelf@EquivalencyTable@wat">?PrintSelf@EquivalencyTab=
le@wat</A><BR><A=20
    =
href=3D"mailto:ershed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@=
@std@@VIndent@3@@Z">ershed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@=
std@@@std@@VIndent@3@@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "public: virtual void __thiscall=20
    itk::WatershedMiniPipelineProgressCommand::Execute(class itk::Object =
*,class=20
    itk::EventObject const &amp;)" (<A=20
    =
href=3D"mailto:?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAV=
Object">?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAVObject<=
/A><BR>@2@ABVEventObject@2@@Z)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleBase.obj =
: error=20
    LNK2005: "public: virtual void __thiscall=20
    itk::WatershedMiniPipelineProgressCommand::Execute(class itk::Object =
const=20
    *,class itk::EventObject const &amp;)" (<A=20
    =
href=3D"mailto:?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBV=
">?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBV</A><BR><A=20
    =
href=3D"mailto:Object@2@ABVEventObject@2@@Z">Object@2@ABVEventObject@2@@Z=
</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "public: bool __thiscall=20
    itk::watershed::OneWayEquivalencyTable::Add(unsigned long,unsigned =
long)"=20
    (<A=20
    =
href=3D"mailto:?Add@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z">?Add=
@OneWayEquivalencyTable@watershed@itk@@QAE_NKK@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "public: void __thiscall=20
    itk::watershed::OneWayEquivalencyTable::Flatten(void)" (<A=20
    =
href=3D"mailto:?Flatten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ">?Fl=
atten@OneWayEquivalencyTable@watershed@itk@@QAEXXZ</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "public: unsigned long __thiscall=20
    itk::watershed::OneWayEquivalencyTable::RecursiveLookup(unsigned =
int)const "=20
    (<A=20
    =
href=3D"mailto:?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBE=
KI@Z">?RecursiveLookup@OneWayEquivalencyTable@watershed@itk@@QBEKI@Z</A>)=
=20
    already defined in =
Segmenta<BR>tion.obj<BR>liSegmentationConsoleGUI.obj :=20
    error LNK2005: "protected: virtual void __thiscall=20
    =
itk::watershed::OneWayEquivalencyTable::UpdateOutputInformation(void)" =
(<A=20
    =
href=3D"mailto:?UpdateOutputInformation@OneWayEquivalencyTable@watershed@=
itk@@MAEXXZ">?UpdateOutputInformation@OneWayEquivalencyTable@watershed@it=
k@@MAEXXZ</A>)=20
    already defined in =
Segme<BR>ntation.obj<BR>liSegmentationConsoleGUI.obj :=20
    error LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::OneWayEquivalencyTable::PrintSelf(class=20
    std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt;=20
    &amp;,class itk::Indent)const " (<A=20
    =
href=3D"mailto:?PrintSelf@OneWayEquivalen">?PrintSelf@OneWayEquivalen</A>=
<BR><A=20
    =
href=3D"mailto:cyTable@watershed@itk@@MBEXAAV?$basic_ostream@DU?$char_tra=
its@D@std@@@std@@VIndent@3@@Z">cyTable@watershed@itk@@MBEXAAV?$basic_ostr=
eam@DU?$char_traits@D@std@@@std@@VIndent@3@@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "public: bool __thiscall=20
    itk::watershed::EquivalencyTable::Add(unsigned long,unsigned long)" =
(<A=20
    =
href=3D"mailto:?Add@EquivalencyTable@watershed@itk@@QAE_NKK@Z">?Add@Equiv=
alencyTable@watershed@itk@@QAE_NKK@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "public: void __thiscall=20
    itk::watershed::EquivalencyTable::Flatten(void)" (<A=20
    =
href=3D"mailto:?Flatten@EquivalencyTable@watershed@itk@@QAEXXZ">?Flatten@=
EquivalencyTable@watershed@itk@@QAEXXZ</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "public: unsigned long __thiscall=20
    itk::watershed::EquivalencyTable::RecursiveLookup(unsigned int)const =
" (<A=20
    =
href=3D"mailto:?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z">=
?RecursiveLookup@EquivalencyTable@watershed@itk@@QBEKI@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::EquivalencyTable::UpdateOutputInformation(void)" (<A =

    =
href=3D"mailto:?UpdateOutputInformation@EquivalencyTable@watershed@itk@@M=
AEXXZ">?UpdateOutputInformation@EquivalencyTable@watershed@itk@@MAEXXZ</A=
>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "protected: virtual void __thiscall=20
    itk::watershed::EquivalencyTable::PrintSelf(class=20
    std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt;=20
    &amp;,class itk::Indent)const " (<A=20
    =
href=3D"mailto:?PrintSelf@EquivalencyTable@wate">?PrintSelf@EquivalencyTa=
ble@wate</A><BR><A=20
    =
href=3D"mailto:rshed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@=
std@@VIndent@3@@Z">rshed@itk@@MBEXAAV?$basic_ostream@DU?$char_traits@D@st=
d@@@std@@VIndent@3@@Z</A>)=20
    already defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj =
: error=20
    LNK2005: "public: virtual void __thiscall=20
    itk::WatershedMiniPipelineProgressCommand::Execute(class itk::Object =
*,class=20
    itk::EventObject const &amp;)" (<A=20
    =
href=3D"mailto:?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAV=
Object">?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPAVObject<=
/A>@<BR><A=20
    href=3D"mailto:2@ABVEventObject@2@@Z">2@ABVEventObject@2@@Z</A>) =
already=20
    defined in Segmentation.obj<BR>liSegmentationConsoleGUI.obj : error =
LNK2005:=20
    "public: virtual void __thiscall=20
    itk::WatershedMiniPipelineProgressCommand::Execute(class itk::Object =
const=20
    *,class itk::EventObject const &amp;)" (<A=20
    =
href=3D"mailto:?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBV=
O">?Execute@WatershedMiniPipelineProgressCommand@itk@@UAEXPBVO</A><BR><A =

    =
href=3D"mailto:bject@2@ABVEventObject@2@@Z">bject@2@ABVEventObject@2@@Z</=
A>)=20
    already defined in Segmentation.obj<BR>LINK : warning LNK4098: =
defaultlib=20
    "MSVCRT" conflicts with use of other libs; use=20
    /NODEFAULTLIB:library<BR>Debug/Segmentation.exe : fatal error =
LNK1169: one=20
    or more multiply defined symbols found<BR>Error executing=20
    link.exe.</FONT></DIV>
    <DIV>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>Segmentation.exe - 37 error(s), 1=20
    warning(s)<BR>&nbsp;</FONT></DIV>
    <DIV><FONT face=3DArial=20
    =
size=3D2>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DEND=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;I'm using the Beta =
Release and MSVC=20
    6.0.</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>Could anybody Know what is hapening =
and help=20
    me?</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>Thanks in advance.</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>Samuel</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial=20
size=3D2></FONT>&nbsp;</DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0005_01C221EC.D9C6D440--