[Insight-developers] multiple shared ITK libraries on windows

Bill Hoffman bill.hoffman at kitware.com
Wed Mar 16 20:27:36 EDT 2011


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


More information about the Insight-developers mailing list