[Insight-developers] missing
itkSmartPointerForwardReference.txx
Will Schroeder
will.schroeder@kitware.com
Sat, 13 Jan 2001 07:39:49 -0500
Hi Lydia-
I added itkSmartPointerForwardReference to take care of situations where you
have cyclic dependencies/includes (like DataObject and ProcessObject).
Basically
the forward reference version is almost the same as the SmartPointer class,
except
all the method implementations are "hidden" in the .txx file, this breaks
the cyclic include dependency.
Anyway, itkDataObject.cxx includes itkSmartPointerForwardReference.txx (yes
.txx)
and itkSmartPointerForwardReference.h does not include it. This is by
design. The .txx
file must be included in a .cxx or .txx file as the last include.
I'm not sure why you are having build problems, I'm building on three PC's
with MSVC.
It's possible that you are out-of-date with the source (or maybe CMake) and
you have a dependency problem.
Will
At 09:57 PM 1/12/2001 -0800, Lydia Ng wrote:
>Hi,
>
>I am getting some "unresolved external symbol" errors when I
>try to build tests on VC++ (error message below).
>
>It complains about not finding symbols related to
>SmartPointerForwardReference.
>This is because itkSmartPointerForwardReference.txx was not included
>anywhere.
>
>itkSmartPointerForwardReference.h does not have the usual include
>.txx statement down the bottom. Maybe this was done for a reason.
>Can someone have a look into this?
>
>Cheers,
>Lydia
>
>-------------------Configuration: itkBasicArchitectureTest - Win32
>Release--------------------
>Linking...
> Creating library Release/itkBasicArchitectureTest.lib and object
>Release/itkBasicArchitectureTest.exp
>itkBasicArchitectureTest.obj : error LNK2001: unresolved external symbol
>"public: class itk::ProcessObject * __thiscall
>itk::SmartPointerForwardReference<class
>itk::ProcessObject>::operator->(void)const "
>(??C?$SmartPointerForwardReference@VProcessO
>bject@itk@@@itk@@QBEPAVProcessObject@1@XZ)
>itkBasicArchitectureTest.obj : error LNK2001: unresolved external symbol
>"public: __thiscall itk::SmartPointerForwardReference<class
>itk::ProcessObject>::operator class itk::ProcessObject *(void)const "
>(??B?$SmartPointerForwardReference@VProcessObj
>ect@itk@@@itk@@QBEPAVProcessObject@1@XZ)
>Release/itkBasicArchitectureTest.exe : fatal error LNK1120: 2 unresolved
>externals
>Error executing link.exe.
>
>itkBasicArchitectureTest.exe - 3 error(s), 0 warning(s)
>
>
>
>_______________________________________________
>Insight-developers mailing list
>Insight-developers@public.kitware.com
>http://public.kitware.com/mailman/listinfo/insight-developers