[Insight-users] errors building ITK 2.0.1 with VisualStudio 2 005beta 2

Bitter, Ingmar (NIH/CC/DRD) IBitter at cc.nih.gov
Tue Jul 26 13:27:43 EDT 2005


Hi Julien,

I also worked on it last weekend a little.
The Self:: problem was the only one that caused compiler errors.
Just deleting it made it possible to build all of the applications that are
added if TEST is checked in the CMake options.

In addition there were lots of warnings that depreciated functions such as
strcmp were used. Apparently there are not 64bit safe, but I did not find
out what the recommended replacements are.

Ingmar

PS: the cvs version of VTK has a single compile error of having a float
constant defined too large. Once that is lowered by one (1) all builds fine.

-----Original Message-----
From: Julien Jomier [mailto:jjomier at cs.unc.edu] 
Sent: Monday, July 25, 2005 6:59 PM
To: Lorensen, William
Cc: Bitter, Ingmar (NIH/CC/DRD); ITK Mailing List
Subject: Re: [Insight-users] errors building ITK 2.0.1 with VisualStudio
2005beta 2

Hi Ingmar,

I'm working on this issue and I'm almost done.
I plan to check the fixes in this week. I'll let you know when they are 
committed.

Julien

Lorensen, William E (Research) wrote:
> No. I think that Julien Jomier has looked into this. There are bugs (if I
recall) in the beta compiler that we don't want to work around.
> 
> There was talk about this recently on the insight developers list.
> 
> Bill
> 
> --------------------------------
>>From Julien Jomier
> 
> Hi All,
> 
> I'm having an issue while trying to make ITK compile with MSVC 8 (beta 2).
> 
> The main issue is the different signatures for a function:
> 
> - in the .h
> void SetSpacing(const double spacing[ImageDimension])
> 
> - in the .txx/cxx
> ::SetSpacing(const double spacing[Self::ImageDimension] ) 	
> 
> The native sun compiler needs the Self:: in order to compile but there 
> is a bug in the MSVC 8 compiler so that it fails with:
> "error C2244: 'itk::ImageAdaptor<TImage,TAccessor>::SetSpacing' : unable 
> to match function definition to an existing declaration"
> 
> I think we have two options here:
> 1) Drop support for MSVC 8 beta 2 and hope that Microsoft will fix the 
> bug in the real release (a bug report has been submitted).
> 
> 2) Try to find a workaround (by using a macro?)
> 
> Let me know what you think,
> 
> Julien
> 
> -----Original Message-----
> From: insight-users-bounces+lorensen=crd.ge.com at itk.org
> [mailto:insight-users-bounces+lorensen=crd.ge.com at itk.org]On Behalf Of
> Bitter, Ingmar (NIH/CC/DRD)
> Sent: Friday, July 22, 2005 1:32 PM
> To: ITK Mailing List
> Subject: [Insight-users] errors building ITK 2.0.1 with VisualStudio
> 2005beta 2
> 
> 
> HI,
> 
> I was trying to use ITK 2.0.1 that was build with VisualStudio.net inside
a
> project that I converted to be used by VisualStudio 2005 beta 2.
> 
> When including some itk headers it created syntax errors that
> VisualStudio.net did not think were errors.
> 
> Is the cvs version of ITK compilable by VisualStudio 2005 beta 2?
> 
> Ingmar
> 
> 
> PS: here is the first error message:
> 
> 1>c:\cvs\bezier\libs\itk\code\common\itkVector.txx(62) : error C2244:
> 'itk::Vector<T,NVectorDimension>::operator =' : unable to match function
> definition to an existing declaration
> 2>c:\cvs\bezier\libs\itk\code\common\itkVector.txx(62) : error C2244:
> 'itk::Vector<T,NVectorDimension>::operator =' : unable to match function
> definition to an existing declaration
> 1>        definition
> 2>        definition
> 2>        'itk::Vector<T,NVectorDimension>
> &itk::Vector<T,NVectorDimension>::operator =(const T
> [itk::Vector<T,NVectorDimension>::Dimension])'
> 1>        'itk::Vector<T,NVectorDimension>
> &itk::Vector<T,NVectorDimension>::operator =(const T
> [itk::Vector<T,NVectorDimension>::Dimension])'
> 1>        existing declarations
> 1>        'itk::Vector<T,NVectorDimension>
> &itk::Vector<T,NVectorDimension>::operator =(const T [Dimension])'
> 1>        'itk::Vector<T,NVectorDimension>
> &itk::Vector<T,NVectorDimension>::operator =(const
> itk::Vector<T,NVectorDimension> &)'
> 1>c:\cvs\bezier\libs\itk\code\common\itkPoint.txx(52) : error C2244:
> 'itk::Point<TCoordRep,NPointDimension>::operator =' : unable to match
> function definition to an existing declaration
> 2>        existing declarations
> 1>        definition
> 2>        'itk::Vector<T,NVectorDimension>
> &itk::Vector<T,NVectorDimension>::operator =(const T [Dimension])'
> 1>        'itk::Point<TCoordRep,NPointDimension>
> &itk::Point<TCoordRep,NPointDimension>::operator =(const TCoordRep
> [itk::Point<TCoordRep,NPointDimension>::PointDimension])'
> 1>        existing declarations
> 2>        'itk::Vector<T,NVectorDimension>
> &itk::Vector<T,NVectorDimension>::operator =(const
> itk::Vector<T,NVectorDimension> &)'
> 2>c:\cvs\bezier\libs\itk\code\common\itkPoint.txx(52) : error C2244:
> 'itk::Point<TCoordRep,NPointDimension>::operator =' : unable to match
> function definition to an existing declaration
> 2>        definition
> 2>        'itk::Point<TCoordRep,NPointDimension>
> &itk::Point<TCoordRep,NPointDimension>::operator =(const TCoordRep
> [itk::Point<TCoordRep,NPointDimension>::PointDimension])'
> 2>        existing declarations
> 2>        'itk::Point<TCoordRep,NPointDimension>
> &itk::Point<TCoordRep,NPointDimension>::operator =(const TCoordRep
> [PointDimension])'
> 2>        'itk::Point<TCoordRep,NPointDimension>
> &itk::Point<TCoordRep,NPointDimension>::operator =(const
> itk::Point<TCoordRep,NPointDimension> &)'
> 1>        'itk::Point<TCoordRep,NPointDimension>
> &itk::Point<TCoordRep,NPointDimension>::operator =(const TCoordRep
> [PointDimension])'
> 1>        'itk::Point<TCoordRep,NPointDimension>
> &itk::Point<TCoordRep,NPointDimension>::operator =(const
> itk::Point<TCoordRep,NPointDimension> &)'
> 1>c:\cvs\bezier\libs\itk\code\common\itkCovariantVector.txx(45) : error
> C2244: 'itk::CovariantVector<T,NVectorDimension>::operator =' : unable to
> match function definition to an existing declaration
> 1>        definition
> 2>c:\cvs\bezier\libs\itk\code\common\itkCovariantVector.txx(45) : error
> C2244: 'itk::CovariantVector<T,NVectorDimension>::operator =' : unable to
> match function definition to an existing declaration
> 2>        definition
> 1>        'itk::CovariantVector<T,NVectorDimension>
> &itk::CovariantVector<T,NVectorDimension>::operator =(const T
> [itk::CovariantVector<T,NVectorDimension>::Dimension])'
> 2>        'itk::CovariantVector<T,NVectorDimension>
> &itk::CovariantVector<T,NVectorDimension>::operator =(const T
> [itk::CovariantVector<T,NVectorDimension>::Dimension])'
> 2>        existing declarations
> 2>        'itk::CovariantVector<T,NVectorDimension>
> &itk::CovariantVector<T,NVectorDimension>::operator =(const T
[Dimension])'
> 1>        existing declarations
> 1>        'itk::CovariantVector<T,NVectorDimension>
> &itk::CovariantVector<T,NVectorDimension>::operator =(const T
[Dimension])'
> 1>        'itk::CovariantVector<T,NVectorDimension>
> &itk::CovariantVector<T,NVectorDimension>::operator =(const
> itk::CovariantVector<T,NVectorDimension> &)'
> 2>        'itk::CovariantVector<T,NVectorDimension>
> &itk::CovariantVector<T,NVectorDimension>::operator =(const
> itk::CovariantVector<T,NVectorDimension> &)'
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 
> 


More information about the Insight-users mailing list