[Insight-developers] itkBasicArchitectureTest: VC++

Stephen R. Aylward aylward at unc.edu
Thu Aug 24 15:34:22 EDT 2000


Project Settings in VC++ for itkBasicArchitectureTest is configured
so that the Win32 Debug, Code Generation, run-time library option
is set to Multithreaded DLL.   As is, it generates multiply defined
symbol errors.   Win32 Release, Code Generation, run-time library option
is set to single threaded.   It also generaated multiply defined symbol
errors.

If the debug library is set to Debug Multithreaded Dll and the release
library is set to Multithreaded DLL, then it compiles with appropriate
warnings, but neither completely executes - they attempt to reference
thru a null pointer (m_Buffer=0) in GetBufferPointer.   Here is the
stack


std::valarray<itk::Scalar<float> >::operator[](unsigned int 0) 
	line 88 + 32 bytes
itk::Image<itk::Scalar<float>,2>::GetBufferPointer() 
	line 292 + 42 bytes
itk::ImageIterator<itk::Scalar<float>,2>::ImageIterator<itk::Scalar<float>,2>(const
itk::SmartPointer<itk::Image<itk::Scalar<float>,2> > & {...}, const
itk::Index<2> & {...}, const unsigned long * 0x00825ca0) 		line 118 + 15
byte: m_Buffer = m_Image->GetBufferPointer();
itk::ImageRegionIterator<itk::Scalar<float>,2>::ImageRegionIterator<itk::Scalar<float>,2>(const
itk::SmartPointer<itk::Image<itk::Scalar<float>,2> > & {...}, const
itk::Index<2> & {...}, const unsigned long * 0x00825ca0) 
	line 97 + 52 bytes
itk::ImageScalarRegionIterator<itk::Scalar<float>,2>::ImageScalarRegionIterator<itk::Scalar<float>,2>(const
itk::SmartPointer<itk::Image<itk::Scalar<float>,2> > & {...}, const
itk::Index<2> & {...}, const unsigned long * 0x00825ca0) 
	line 74 + 49 bytes
itk::RandomImageSource<itk::Image<itk::Scalar<float>,2> >::Execute() 
line 80 + 85 bytes
itk::ProcessObject::UpdateData(itk::DataObject * 0x00825c30) 
	line 1032 + 16 bytes
itk::DataObject::UpdateData() 
	line 362 + 23 bytes
itk::ProcessObject::UpdateData(itk::DataObject * 0x008252d0) 
	line 985 + 23 bytes
itk::DataObject::UpdateData() 
	line 362 + 23 bytes
itk::DataObject::Update() 
	line 254 + 13 bytes
  	  this->UpdateData();
itk::Writer::Write() 
	line 55 + 26 bytes
	  this->GetInput(0)->Update();
main() 
	line 116 + 36 bytes
	  writer->Write();

Thanks,
Stephen

-- 
===============================================
Stephen R. Aylward
Assistant Professor of Radiology
Adjunct Assistant Professor of Computer Science
http://www.cs.unc.edu/~aylward
aylward at unc.edu
(919) 966-9695




More information about the Insight-developers mailing list