Boost logo

Boost Users :

Subject: [Boost-users] [log] Warning LNK4217 when compiling using clang-cl
From: Marco Craveiro (marco.craveiro_at_[hidden])
Date: 2019-02-14 08:50:16


Hi boost-users,

I'm consuming boost 1.69 successfully from vcpkg, on a number of
platforms, including MSVC and clang-cl on Windows. However, for some
reason, whilst my MSVC is more or less clean of warnings, the clang-cl
build is littered with LNK4217's. These appear to be related to
boost.log, and more specifically get_tss_data and set_tss_data:

warning LNK4217: locally defined symbol
?get_tss_data_at_detail@boost@@YAPEAXPEBX_at_Z (void * __cdecl
boost::detail::get_tss_data(void const *)) imported in function
"public: struct
boost::log::v2s_mt_nt6::sinks::basic_formatting_sink_frontend<char>::formatting_context
* __cdecl boost::thread_specific_ptr<struct
boost::log::v2s_mt_nt6::sinks::basic_formatting_sink_frontend<char>::formatting_context>::get(void)const
" (?get@?$thread_specific_ptr_at_Uformatting_context@?$basic_formatting_sink_frontend_at_D@sinks_at_v2s_mt_nt6_at_log@boost@@@boost@@QEBAPEAUformatting_context@?$basic_formatting_sink_frontend_at_D@sinks_at_v2s_mt_nt6_at_log@2_at_XZ)

 warning LNK4217: locally defined symbol
?set_tss_data_at_detail@boost@@YAXPEBXV?$shared_ptr_at_Utss_cleanup_function_at_detail@boost@@@2_at_PEAX_N_at_Z
(void __cdecl boost::detail::set_tss_data(void const *,class
boost::shared_ptr<struct boost::detail::tss_cleanup_function>,void
*,bool)) imported in function "public: __cdecl
boost::thread_specific_ptr<struct
boost::log::v2s_mt_nt6::sinks::basic_formatting_sink_frontend<char>::formatting_context>::~thread_specific_ptr<struct
boost::log::v2s_mt_nt6::sinks::basic_formatting_sink_frontend<char>::formatting_context>(void)"
(??1?$thread_specific_ptr_at_Uformatting_context@?$basic_formatting_sink_frontend_at_D@sinks_at_v2s_mt_nt6_at_log@boost@@@boost@@QEAA_at_XZ)

Googling revealed that this problem indicates some issue on exports
(e.g. __declsepc...), but I haven't managed to figure out exactly what
is causing it. Have you seen anything of this ilk? Any pointers would
be greatly appreciated.

Cheers

-- 
Marco Craveiro
MD, Domain Driven Consulting
about: http://about.me/marcocraveiro
blog: http://mcraveiro.blogspot.co.uk
twitter: https://twitter.com/MarcoCraveiro
That the Ideas are themselves manifestations (of the Idea-Idea) and
that the Idea-Idea is a-kind-of Manifestation-Idea—which is a-kind-of
itself, so that the system is completely self-describing— would have
been appreciated by Plato as an extremely practical joke [Plato]. --
Alan Key

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net