[ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName()

Johnson, Hans J hans-johnson at uiowa.edu
Tue Nov 29 10:04:12 EST 2016


Brad,

Is that command line correct?  

:BOOL=hidden  ?   Is that true, or false, or should it be :STRING=hidden ?

Hans


-- 


On 11/29/16, 8:19 AM, "Insight-developers on behalf of Lowekamp, Bradley (NIH/NLM/LHC) [C]" <insight-developers-bounces at itk.org on behalf of blowekamp at mail.nih.gov> wrote:

    Thanks for the update, and the work to narrow your problem down.
    
    Just to let you know, another alternative to managing the flags is to use CMake preset property variables. When I build ITK for SimpleITK I apply (depending on the configuration) the following CMake options:
    
    -DCMAKE_C_VISIBILITY_PRESET:BOOL=hidden
    -DCMAKE_CXX_VISIBILITY_PRESET:BOOL=hidden
    -DCMAKE_VISIBILITY_INLINES_HIDDEN:BOOL=ON
    
    This seems to work well now. And CMake appears to append the option after on the programatic manipulation of the standard flag variables.
    
    HTH,
    Brad
    
    > On Nov 28, 2016, at 4:59 PM, Sean McBride <sean at rogue-research.com> wrote:
    > 
    > On Fri, 25 Nov 2016 20:55:31 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said:
    > 
    >> I presume you are compiling ITK with shared libraries?
    > 
    > No, as static libraries.
    > 
    >> Would you happen to have a minimal example of “MyOwnCode.cxx” that
    >> reproduces this warning?
    > 
    > I reduced it to a very small Xcode project with only 1 source file.  Then I continued to reduce it to just a command line invocation of clang and it stopped reproducing. :(
    > 
    > I soon discovered that between Xcode 6.4 and 7.0 a bug seems to have been introduced where turning on "symbols hidden by default" in the GUI (aka "GCC_SYMBOLS_PRIVATE_EXTERN = YES") doesn't actually pass "-fvisibility=hidden" to clang!
    > 
    > So, for my particular case at least, there is no ITK issue here.  Sorry for the noise.
    > 
    > Cheers,
    > 
    > -- 
    > ____________________________________________________________
    > Sean McBride, B. Eng                 sean at rogue-research.com
    > Rogue Research                        www.rogue-research.com 
    > Mac Software Developer              Montréal, Québec, Canada
    
    _______________________________________________
    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
    



More information about the Insight-developers mailing list