<font size="2"><font face="verdana,sans-serif">It compiles correctly in release mode when I remove the &quot;virtual&quot; keyword. However with this change there is an error in debug and relwithdebinfo modes:<br><br>error LNK2019: unresolved external symbol &quot;public: __cdecl itk::TriangleCellTopology::~TriangleCellTopology(void)&quot; (??1TriangleCellTopology@itk@@QEAA@XZ) referenced in function &quot;int `public: __cdecl itk::TriangleCell&lt;class itk::CellInterface&lt;float,class itk::CellTraitsInfo&lt;3,float,float,unsigned __int64,unsigned __int64,unsigned __int64,class itk::Point&lt;float,3&gt;,class itk::VectorContainer&lt;unsigned __int64,class itk::Point&lt;float,3&gt; &gt;,class std::set&lt;unsigned __int64,struct std::less&lt;unsigned __int64&gt;,class std::allocator&lt;unsigned __int64&gt; &gt; &gt; &gt; &gt;::TriangleCell&lt;class itk::CellInterface&lt;float,class itk::CellTraitsInfo&lt;3,float,float,unsigned __int64,unsigned __int64,unsigned __int64,class itk::Point&lt;float,3&gt;,class itk::VectorContainer&lt;unsigned __int64,class itk::Point&lt;float,3&gt; &gt;,class std::set&lt;unsigned __int64,struct std::less&lt;unsigned __int64&gt;,class std::allocator&lt;unsigned __int64&gt; &gt; &gt; &gt; &gt;(void)&#39;::`1&#39;::dtor$1&quot; (?dtor$1@?0???0?$TriangleCell@V?$CellInterface@MV?$CellTraitsInfo@$02MM_K_K_KV?$Point@M$02@itk@@V?$VectorContainer@_KV?$Point@M$02@itk@@@2@V?$set@_KU?$less@_K@std@@V?$allocator@_K@2@@std@@@itk@@@itk@@@itk@@QEAA@XZ@4HA)<br>

</font></font><br><div class="gmail_quote">On Tue, Nov 15, 2011 at 15:00, Arnaud Gelas <span dir="ltr">&lt;<a href="mailto:arnaud_gelas@hms.harvard.edu">arnaud_gelas@hms.harvard.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word"><div>I guess the problem has been introduced in d7b64276cd2f15d336c50df76b275e7a67b80c57, the destructor became virtual (?). Apart from that I don&#39;t see any recent changes on these files...</div>

<div><br></div><div>Can you try removing the virtual keyword ?</div><div><br><div><div><div></div><div class="h5"><div>On Nov 15, 2011, at 8:44 AM, Arnaud Gelas wrote:</div><br></div></div><blockquote type="cite"><div style="word-wrap:break-word">

<div><div></div><div class="h5">My bad, it was already implemented in the corresponding cxx file :-/ ...<div><br></div><div>Which version of Microsoft Visual is it?<br><div><br><div><div>On Nov 15, 2011, at 8:24 AM, Dženan Zukić wrote:</div>

<br><blockquote type="cite"><font size="2"><font face="verdana,sans-serif">I tried. It gives a different error then:<br><br>2&gt;ITKCommon-4.0.lib(itkTriangleCellTopology.obj) : error LNK2005: &quot;public: __cdecl itk::TriangleCellTopology::TriangleCellTopology(void)&quot; (??0TriangleCellTopology@itk@@QEAA@XZ) already defined in qeUtil.obj<br>

 2&gt;     Creating library D:/Repo/Spine/Release/Spine.lib and object D:/Repo/Spine/Release/Spine.exp<br>2&gt;D:\Repo\Spine\Release\Spine.exe : fatal error LNK1169: one or more multiply defined symbols found<br></font></font><br>

 <div class="gmail_quote">2011/11/15 Dženan Zukić <span dir="ltr">&lt;<a href="mailto:dzenanz@gmail.com" target="_blank">dzenanz@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 <font size="2"><font face="verdana,sans-serif">You mean in the source code </font></font>of TriangleCellTopology<font size="2"><font face="verdana,sans-serif">?<br></font></font><div><div></div><div><br><div class="gmail_quote">

 2011/11/15 Arnaud Gelas <span dir="ltr">&lt;<a href="mailto:arnaud_gelas@hms.harvard.edu" target="_blank">arnaud_gelas@hms.harvard.edu</a>&gt;</span><br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word">Hi Dzenan,<div><br></div><div>Can you try changing as follows, please?</div><div><br> </div><div><div> 39   TriangleCellTopology();</div><div> 40   virtual ~TriangleCellTopology();</div>
<div>
<br></div><div>by</div><div><br></div><div><div> 39   TriangleCellTopology() {}</div><div> 40   virtual ~TriangleCellTopology() {}</div> </div><div><br></div><div>My 2 cts,</div><div>Arnaud</div><div><br></div><div><div>
<div>
</div><div><div>On Nov 15, 2011, at 6:45 AM, Dženan Zukić wrote:</div><br></div></div><blockquote type="cite"><div><div></div> <div><font size="2"><font face="verdana,sans-serif">Hi all,<br><br>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:<br>

  <br>#include &quot;itkTriangleCell.h&quot;<br>//other includes<br><br>typedef MeshType::CellType CellType;<br>typedef CellType::CellAutoPointer CellAutoPointer;<br>typedef itk::TriangleCell&lt; CellType &gt; TriangleType;<br>

  <br>//later I use it:<br>CellAutoPointer tr;<br>tr.TakeOwnership(new TriangleType);<br><br>Any hints about how to fix it?<br><br>Regards,<br>Dženan<br><br>error LNK2019: unresolved external symbol &quot;public: virtual __cdecl itk::TriangleCellTopology::~TriangleCellTopology(void)&quot; (??1TriangleCellTopology@itk@@UEAA@XZ) referenced in function &quot;int `public: __cdecl itk::TriangleCell&lt;class itk::CellInterface&lt;float,class itk::CellTraitsInfo&lt;3,float,float,unsigned __int64,unsigned __int64,unsigned __int64,class itk::Point&lt;float,3&gt;,class itk::VectorContainer&lt;unsigned __int64,class itk::Point&lt;float,3&gt; &gt;,class std::set&lt;unsigned __int64,struct std::less&lt;unsigned __int64&gt;,class std::allocator&lt;unsigned __int64&gt; &gt; &gt; &gt; &gt;::TriangleCell&lt;class itk::CellInterface&lt;float,class itk::CellTraitsInfo&lt;3,float,float,unsigned __int64,unsigned __int64,unsigned __int64,class itk::Point&lt;float,3&gt;,class itk::VectorContainer&lt;unsigned __int64,class itk::Point&lt;float,3&gt; &gt;,class std::set&lt;unsigned __int64,struct std::less&lt;unsigned __int64&gt;,class std::allocator&lt;unsigned __int64&gt; &gt; &gt; &gt; &gt;(void)&#39;::`1&#39;::dtor$1&quot; (?dtor$1@?0???0?$TriangleCell@V?$CellInterface@MV?$CellTraitsInfo@$02MM_K_K_KV?$Point@M$02@itk@@V?$VectorContainer@_KV?$Point@M$02@itk@@@2@V?$set@_KU?$less@_K@std@@V?$allocator@_K@2@@std@@@itk@@@itk@@@itk@@QEAA@XZ@4HA)<br>

  <br><br></font></font> </div></div><span>&lt;ATT00001.txt&gt;</span></blockquote></div><br></div></div></blockquote></div><br> </div></div></blockquote></div><br></blockquote></div><br></div></div></div></div><span>&lt;ATT00001.txt&gt;</span></div>

</blockquote></div><br></div></div></blockquote></div><br>