Cannot understand what linker is complaining about

178 Views Asked by At

When compiling my project that uses boost logging library, I am getting following linker error.

LNK2001 unresolved external symbol "public: static class boost::log::v2s_mt_nt6::sources::severity_logger_mt __cdecl my_logger::construct_logger(void)" (?construct_logger@my_logger@@SA?AV?$severity_logger_mt@W4severity_level@trivial@v2s_mt_nt6@log@boost@@@sources@v2s_mt_nt6@log@boost@@XZ)

I don't know how to read this error message with mangled function names. Can anyone tell me in human readable way what function it cannot find?

1

There are 1 best solutions below

0
sehe On

Googling "boost log unresolved external symbol" leads to https://www.boost.org/doc/libs/1_59_0/libs/log/doc/html/log/rationale/namespace_mangling.html (first, highlighted hit) which describes BOOST_LOG_DYN_LINK.

This incidentally also the most frequent answer on SO: https://stackoverflow.com/search?tab=votes&q=%5bboost-log%5d%20linker

However ABI issues can play a role, see e.g. Unresolved external when using boost log