[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> </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> </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> </DIV>
<DIV><FONT face=3DArial size=3D2>I'm developing an example based in =
GaussianFilter=20
example in order to segmentate a PNG Image with the watershed =
algorithm.=20
In the Base class I have defined a member of the =
WatershedImageFilter=20
class and the estructure is the same of the Gaussian Filter=20
example's.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </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> </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> </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<char,struct std::char_traits<char> >=20
&,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<char,struct std::char_traits<char> >=20
&,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 &)" (<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 &)" (<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<char,struct std::char_traits<char> >=20
&,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<char,struct std::char_traits<char> >=20
&,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 &)" (<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 &)" (<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<char,struct std::char_traits<char> >=20
&,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<char,struct std::char_traits<char> >=20
&,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 &)" (<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 &)" (<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> </DIV>
<DIV><FONT face=3DArial size=3D2>Segmentation.exe - 37 error(s), 1=20
warning(s)<BR> </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> </DIV>
<DIV><FONT face=3DArial size=3D2> I'm using the Beta =
Release and MSVC=20
6.0.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </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> </DIV>
<DIV><FONT face=3DArial size=3D2>Thanks in advance.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Samuel</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial =
size=3D2></FONT> </DIV></BLOCKQUOTE></BODY></HTML>
------=_NextPart_000_0009_01C221DB.73543C90--