I'm sorry I missed this in #146. But I started getting warnings like:
ld: warning: direct access in function 'obake::detail::ss_intersect_idx(boost::container::flat_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void> const&, boost::container::flat_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void> const&)' from file '/obake/Debug/libobake.a(symbols.o)' to global weak symbol 'obake::safe_cast<unsigned long>' from file '/Debug/Objects-normal/x86_64/test.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
These go away by also guarding the properties with OBAKE_BUILD_STATIC_LIBRARY:
I'm sorry I missed this in #146. But I started getting warnings like:
These go away by also guarding the properties with
OBAKE_BUILD_STATIC_LIBRARY
:This suppresses the warnings, but I don't really understand the visibility properties, so am wondering does this change make sense?