[Insight-users] itk2DThresholdSegmentationLevelSetImageFilter build problem

Julien Jomier jjomier@cs.unc.edu
Fri, 1 Nov 2002 13:44:37 -0500


Hi John,

The problem comes from the order of the includes.

replacing in 
Insight/Examples/LevelSetSegmentation/itk2DThreshold-
-SegmentationLevelSetImageFilter.cxx

#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkPNGImageIO.h"
#include "itkRawImageIO.h"

by

#include "itkPNGImageIO.h"
#include "itkRawImageIO.h"
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"

should do it.

I have checked in the fix.

Examples are not compiled on every platform that's why
the dashboard was not reporting errors.

Julien

> -----Original Message-----
> From: insight-users-admin@public.kitware.com 
> [mailto:insight-users-admin@public.kitware.com] On Behalf Of 
> anast.jm@pg.com
> Sent: Thursday, October 31, 2002 1:07 PM
> To: insight-users@public.kitware.com
> Subject: [Insight-users] 
> itk2DThresholdSegmentationLevelSetImageFilter build problem
> 
> 
> 
> Dashboard looks green but I'm seeing build errors, is this a 
> Halloween trick?
> ....john     (sorry for the long list)
> 
> Compiling...
> itk2DThresholdSegmentationLevelSetImageFilter.cxx
> Linking...
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: void 
> __thiscall std::basic_ifstream<char,struct 
> std::char_traits<char> >::`vbase destructor'(void)" (??
> _D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 
> already defined in itk2DThresholdSegmen tationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual 
> __thiscall std::basic_ifstream<char,struct 
> std::char_traits<char> >::~basic_ifstream<char,struct 
> std::char_traits<char> >(void)" 
> (??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ) alr 
> eady defined in itk2DThresholdSegmentationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class 
> std::basic_filebuf<char,struct std::char_traits<char> > * 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::open(char const *,int)" 
> (?open@?$basic_filebuf@DU?$char_traits@D@s
> td@@@std@@QAEPAV12@PBDH@Z) already defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall 
> std::basic_filebuf<char,struct std::char_traits<char> 
> >::basic_filebuf<char,struct std::char_traits<char> >(struct 
> _iobuf *)" 
> (??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobu
> f@@@Z) already defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class 
> std::basic_filebuf<char,struct std::char_traits<char> > * 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::close(void)" 
> (?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@
> QAEPAV12@XZ) already defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: void 
> __thiscall std::basic_ofstream<char,struct 
> std::char_traits<char> >::`vbase destructor'(void)" (??
> _D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 
> already defined in itk2DThresholdSegmen tationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "protected: void 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::_Init(struct _iobuf *,enum 
> std::basic_filebuf<char,struct std::char_traits<char> 
> >::_Initfl)" (?_Init@?$basic_filebuf@DU?$
> char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z) 
> already defined in itk2DThresholdSegmentationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: void 
> __thiscall std::basic_ifstream<char,struct 
> std::char_traits<char> >::close(void)"
> (?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 
> already defined in itk2DThresholdSegmentationLeve lSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::~basic_filebuf<char,struct 
> std::char_traits<char> >(void)" 
> (??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ) 
> alread y defined in itk2DThresholdSegmentationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "protected: void 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::_Initcvt(void)" (?
> _Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXXZ) 
> already defined in itk2DThresholdSegmentat ionLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual 
> __thiscall std::basic_ofstream<char,struct 
> std::char_traits<char> >::~basic_ofstream<char,struct 
> std::char_traits<char> >(void)" 
> (??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ) alr 
> eady defined in itk2DThresholdSegmentationLevelSetImageFilter.obj
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: void 
> __thiscall std::basic_ifstream<char,struct 
> std::char_traits<char> >::`vbase destructor'(void)" (??
> _D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 
> already defined in itk2DThresholdSegm 
> entationLevelSetImageFilter.obj; second definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual 
> __thiscall std::basic_ifstream<char,struct 
> std::char_traits<char> >::~basic_ifstream<char,struct 
> std::char_traits<char> >(void)" 
> (??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ) a 
> lready defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj; second 
> definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: class 
> std::basic_filebuf<char,struct std::char_traits<char> > * 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::open(char const *,int)" 
> (?open@?$basic_filebuf@DU?$char_traits@D
> @std@@@std@@QAEPAV12@PBDH@Z) already defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj; second 
> definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::basic_filebuf<char,struct 
> std::char_traits<char> >(struct _iobuf *)" 
> (??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_io
> buf@@@Z) already defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj; second 
> definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: class 
> std::basic_filebuf<char,struct std::char_traits<char> > * 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::close(void)" 
> (?close@?$basic_filebuf@DU?$char_traits@D@std@@@std
> @@QAEPAV12@XZ) already defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj; second 
> definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: void 
> __thiscall std::basic_ofstream<char,struct 
> std::char_traits<char> >::`vbase destructor'(void)" (??
> _D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 
> already defined in itk2DThresholdSegm 
> entationLevelSetImageFilter.obj; second definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "protected: void 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::_Init(struct _iobuf *,enum 
> std::basic_filebuf<char,struct std::char_traits<char> 
> >::_Initfl)" (?_Init@?$basic_filebuf@DU
> ?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z) 
> already defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj; second 
> definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: void 
> __thiscall std::basic_ifstream<char,struct 
> std::char_traits<char> >::close(void)"
> (?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 
> already defined in itk2DThresholdSegmentationLe 
> velSetImageFilter.obj; second definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::~basic_filebuf<char,struct 
> std::char_traits<char> >(void)" 
> (??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ) alre 
> ady defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj; second 
> definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "protected: void 
> __thiscall std::basic_filebuf<char,struct 
> std::char_traits<char> >::_Initcvt(void)" (?
> _Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXXZ) 
> already defined in itk2DThresholdSegment 
> ationLevelSetImageFilter.obj; second definition ignored
> msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual 
> __thiscall std::basic_ofstream<char,struct 
> std::char_traits<char> >::~basic_ofstream<char,struct 
> std::char_traits<char> >(void)" 
> (??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ) a 
> lready defined in 
> itk2DThresholdSegmentationLevelSetImageFilter.obj; second 
> definition ignored
>    Creating library 
> P:\WinCVS\In\bin\Release/itk2DThresholdSegmentationLevelSetIma
> geFilter.lib and object P: 
> \WinCVS\In\bin\Release/itk2DThresholdSegmentationLevelSetImage
> Filter.exp
> P:\WinCVS\In\bin\Release/itk2DThresholdSegmentationLevelSetIma
> geFilter.exe : fatal error LNK1169: one or more multiply 
> defined symbols found Error executing link.exe.
> 
> ALL_BUILD - 12 error(s), 13 warning(s)
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com 
> http://public.kitware.com/mailman/listinfo/ins> ight-users
>