On Mon, Nov 14, 2016 at 2:18 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] <blowek...@mail.nih.gov> wrote: > Matt, > > I believe that GCC 4.1 also had a very similar problem to what is occurring > in with Apple Clang now.
Thanks to the GCC version dashboard builds that you maintain, we should be able to see if other GCC's have that issue, too :-). > That looks like a good example for the problem. > > The replacement of all dynamic_casts of all itk::Objects is one approach. > Here is a few others: > > 1) Make an explicit instantiation library with the ITK classes part of the > shared libraries' interfaces. > 2) Just compile the problematic libraries with default visibility. > 3) Restore the functionality of the old “WrapITK” Explicit language/feature > to explicitly instantiate all of ITK. > 4) Write an entire library which fully encapsulates the ITK templated > interface and used it’s own object for the visibility specified API :) These may be good solutions for some use cases. However, we still need to support general implicit instantiation. ITK is predominantly used via implicit instantiation. Explicit instantiation results in building libraries with types that are unused and have an associated negative build time, size, and load time. And, it limits the types that can be used relative to implicit instantiation. > It’s interesting to note that Slicer CLI interface does not contain ITK > templated objects. Does Slicer use ITK objects any where in it’s public API’s? Note that this issue becomes predominantly problematic when ITK templated objects are not in the ABI but used internally (as in the test case). Thanks, Matt _______________________________________________ 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://public.kitware.com/mailman/listinfo/insight-developers