[Insight-users] Link error in Release: TriangleCellTopology

Arnaud Gelas arnaud_gelas at hms.harvard.edu
Tue Nov 15 09:00:55 EST 2011


I guess the problem has been introduced in  
d7b64276cd2f15d336c50df76b275e7a67b80c57, the destructor became  
virtual (?). Apart from that I don't see any recent changes on these  
files...

Can you try removing the virtual keyword ?

On Nov 15, 2011, at 8:44 AM, Arnaud Gelas wrote:

> My bad, it was already implemented in the corresponding cxx  
> file :-/ ...
>
> Which version of Microsoft Visual is it?
>
> On Nov 15, 2011, at 8:24 AM, Dženan Zukić wrote:
>
>> I tried. It gives a different error then:
>>
>> 2>ITKCommon-4.0.lib(itkTriangleCellTopology.obj) : error LNK2005:  
>> "public: __cdecl  
>> itk::TriangleCellTopology::TriangleCellTopology(void)" (?? 
>> 0TriangleCellTopology at itk@@QEAA at XZ) already defined in qeUtil.obj
>> 2>     Creating library D:/Repo/Spine/Release/Spine.lib and object  
>> D:/Repo/Spine/Release/Spine.exp
>> 2>D:\Repo\Spine\Release\Spine.exe : fatal error LNK1169: one or  
>> more multiply defined symbols found
>>
>> 2011/11/15 Dženan Zukić <dzenanz at gmail.com>
>> You mean in the source code of TriangleCellTopology?
>>
>> 2011/11/15 Arnaud Gelas <arnaud_gelas at hms.harvard.edu>
>> Hi Dzenan,
>>
>> Can you try changing as follows, please?
>>
>>  39   TriangleCellTopology();
>>  40   virtual ~TriangleCellTopology();
>>
>> by
>>
>>  39   TriangleCellTopology() {}
>>  40   virtual ~TriangleCellTopology() {}
>>
>> My 2 cts,
>> Arnaud
>>
>> On Nov 15, 2011, at 6:45 AM, Dženan Zukić wrote:
>>
>>> Hi all,
>>>
>>> I updated my ITK to commit  
>>> dd21441682b47f9e553259d2c2948c71c806bcdd (one revision after RC2).  
>>> Now my project no longer compiles in release mode (debug and  
>>> relwithdebinfo compile fine). The error is given below. The code  
>>> used is:
>>>
>>> #include "itkTriangleCell.h"
>>> //other includes
>>>
>>> typedef MeshType::CellType CellType;
>>> typedef CellType::CellAutoPointer CellAutoPointer;
>>> typedef itk::TriangleCell< CellType > TriangleType;
>>>
>>> //later I use it:
>>> CellAutoPointer tr;
>>> tr.TakeOwnership(new TriangleType);
>>>
>>> Any hints about how to fix it?
>>>
>>> Regards,
>>> Dženan
>>>
>>> error LNK2019: unresolved external symbol "public: virtual __cdecl  
>>> itk::TriangleCellTopology::~TriangleCellTopology(void)" (?? 
>>> 1TriangleCellTopology at itk@@UEAA at XZ) referenced in function "int  
>>> `public: __cdecl itk::TriangleCell<class  
>>> itk::CellInterface<float,class  
>>> itk::CellTraitsInfo<3,float,float,unsigned __int64,unsigned  
>>> __int64,unsigned __int64,class itk::Point<float,3>,class  
>>> itk::VectorContainer<unsigned __int64,class itk::Point<float,3>  
>>> >,class std::set<unsigned __int64,struct std::less<unsigned  
>>> __int64>,class std::allocator<unsigned __int64> > > >  
>>> >::TriangleCell<class itk::CellInterface<float,class  
>>> itk::CellTraitsInfo<3,float,float,unsigned __int64,unsigned  
>>> __int64,unsigned __int64,class itk::Point<float,3>,class  
>>> itk::VectorContainer<unsigned __int64,class itk::Point<float,3>  
>>> >,class std::set<unsigned __int64,struct std::less<unsigned  
>>> __int64>,class std::allocator<unsigned __int64> > > >  
>>> >(void)'::`1'::dtor$1" (?dtor$1@?0???0?$TriangleCell at V? 
>>> $CellInterface at MV?$CellTraitsInfo@$02MM_K_K_KV?$Point at M$02 at itk@@V? 
>>> $VectorContainer at _KV?$Point at M$02 at itk@@@2 at V?$set at _KU? 
>>> $less at _K@std@@V?$allocator at _K@2@@std@@@itk@@@itk@@@itk@@QEAA at XZ@4HA)
>>>
>>>
>>> <ATT00001.txt>
>>
>>
>>
>
> <ATT00001.txt>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20111115/22ed1b19/attachment-0001.htm>


More information about the Insight-users mailing list