[Insight-developers] Converting ITK's ImageIO libraries to shared

Bradley Lowekamp blowekamp at mail.nih.gov
Mon Jun 3 12:01:05 EDT 2013


Matt,

On windows if no export/import is declared for a symbol it will be considered internal and not specified in the windows DLL interface. A similar things should be done with default visibility with gcc. So this "should" not occur. 

This particular issue should have been resolved with this patch:

https://github.com/Kitware/ITK/commit/395420846e0c9e48ede28f84a59794d889b51724

Brad

On Jun 3, 2013, at 11:30 AM, Matt McCormick <matt.mccormick at kitware.com> wrote:

> Hi Brad,
> 
> Duplicate exports may be an issue.  See, e.g.,
> 
>  https://issues.itk.org/jira/browse/ITK-2796
> 
> Matt
> 
> On Mon, Jun 3, 2013 at 2:54 PM, Bradley Lowekamp <blowekamp at mail.nih.gov> wrote:
>> Matt,
>> 
>> What would be the issue with that?
>> 
>> Brad
>> 
>> On Jun 3, 2013, at 10:44 AM, Matt McCormick <matt.mccormick at kitware.com> wrote:
>> 
>>> Hi Brad,
>>> 
>>> I think many of the third party libraries that the ImageIO modules
>>> depend on are not set up for shared libraries on Windows.
>>> 
>>> Thanks,
>>> Matt
>>> 
>>> On Mon, Jun 3, 2013 at 2:26 PM, Bradley Lowekamp <blowekamp at mail.nih.gov> wrote:
>>>> Hello,
>>>> 
>>>> What are the possible problem what we will encounter if we convert ITK's ImageIO modules to be shared libraries on Windows? And manage the gcc exported symbols why we are at it?
>>>> 
>>>> Performing the factory registration of ImageIO factory objects during static initialization in static libraries is fill with problems and tricky behaviors and is problematic for large applications to manage. By making these libraries shared the ImageIO factory objects should be unique and consistent across different libraries which use ITK, so that they will not get registered multiple times. Additionally, by explicitly specifying the exported symbols on gcc this should help to reduce the library size.
>>>> 
>>>> Thanks for you thoughts,
>>>> Brad
>>>> _______________________________________________
>>>> 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.php
>>>> 
>>>> 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