[Insight-users] Problems with Watershed class

Nils Hanssen hanssen at caesar . de
Tue, 2 Jul 2002 15:16:32 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0009_01C221DB.73543C90
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

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



------=_NextPart_000_0009_01C221DB.73543C90
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=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">


<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<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 =

size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D328051013-02072002><FONT face=3DArial color=3D#0000ff =
size=3D2>I have=20
exactly the same double symbols when linking my project with the=20
WatershedImageFilter.</FONT></SPAN></DIV>
<DIV><SPAN class=3D328051013-02072002></SPAN><SPAN =
class=3D328051013-02072002><FONT=20
face=3DArial color=3D#0000ff size=3D2>It's not the clean way, but until =
the problem is=20
discovered, you can turn these errors into warnings by including the=20
"/FORCE:MULTIPLE" in the linking options of MSVC. </FONT></SPAN></DIV>
<DIV><SPAN class=3D328051013-02072002><FONT face=3DArial color=3D#0000ff =

size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D328051013-02072002><FONT face=3DArial color=3D#0000ff =

size=3D2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=3D328051013-02072002><FONT face=3DArial color=3D#0000ff =

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>=20
  insight-users-admin@public.kitware.com=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 =
PM<BR><B>To:</B>=20
  insight-users@public.kitware.com<BR><B>Subject:</B> [Insight-users] =
Problems=20
  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 =
GaussianFilter=20
  example in order to segmentate a&nbsp;PNG Image with the watershed =
algorithm.=20
  In the Base class I&nbsp;have defined a member of the =
WatershedImageFilter=20
  class and&nbsp;the estructure is the same of the Gaussian Filter=20
  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)" (<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=20
  =
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:=20
  "public: bool __thiscall =
itk::watershed::OneWayEquivalencyTable::Add(unsigned=20
  long,unsigned long)" (<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=20
  =
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)" (<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=20
  =
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 defined=20
  in Segmentation.obj<BR>liSegmentationConsoleGUI.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=
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 or=20
  more multiply defined symbols found<BR>Error executing =
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 =
size=3D2></FONT>&nbsp;</DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0009_01C221DB.73543C90--