[Insight-developers] multiple shared ITK libraries on windows

Tom Vercauteren tom.vercauteren at m4x.org
Thu Mar 17 10:01:25 EDT 2011


Hi all,

Let me first state that I am not really familiar with developping with
MSVC. I have however had my share of problems with ITK and dynamic
libraries with this compiler when trying to port some of my code.
Moving to static is not an option for us since in our projects we also
have a plugin mechanism.

One of the issues we did not managed to get by is documented on the bug tracker:
http://www.itk.org/Bug/view.php?id=10699

I have no clue if this is directly related to the one dll thing but
have no better idea right now.

My two cents,
Tom

On Thu, Mar 17, 2011 at 01:27, Bill Hoffman <bill.hoffman at kitware.com> wrote:
> On Wed, Mar 16, 2011 at 6:24 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>> Here's a question.
>>
>> In old ITK, there were 15 shared libraries. Because of vnl
>> limitations, Bill Hoffman says there should only be 8 (my calculation
>> and ITKCommon is the only one that is core ITK). With ITK modular
>> there are potentially 45 (my calculation, not counting tests) shared
>> libs. Supporting shared libs on windows platforms requires special
>> magic.
>>
>> Should we build any shared libs in ITK modular on windows platforms?
>> Is the maintenance burden too high?
>>
>
> Prior to change 419, there was only one shared library ITKCommon in
> ITK on windows. Since that change was in ITKv4, I would hardly call it
> old ITK (maybe 4 month old itk...)....  :)
>
> Anyway, without figuring out how to make vnl shared, I don't think
> that we can safely have more than one dll in ITK.  Dll's are an all or
> nothing type of thing. I think I remember why this was done in the
> first place. The main driving force for the original ITKCommon being
> shared was so that plugins could be done for VolView.  With all static
> ITK, the trouble was that each plugin got its own copy of the modified
> time class static from ITKObject.  This of course totally broke the
> pipeline.  So, I think that we should have one ITK dll as we did in
> the past, and it should be the one that contains the static for
> modified time.  That way plugin type applications can still be created
> against ITK.  I will also investigate making vnl shared, but that
> maybe too hard...
>
> -Bill
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
>


More information about the Insight-developers mailing list