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

Lowekamp, Bradley (NIH/NLM/LHC) [C] blowekamp at mail.nih.gov
Tue Nov 29 09:19:06 EST 2016


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



More information about the Insight-developers mailing list