在编译使用Boost Logging库的项目时,出现以下链接器错误。
LNK2001未解析的外部符号“ public:静态类 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)
我不知道如何使用错误的函数名读取此错误消息。谁能以人类可读的方式告诉我它找不到什么功能?
答案 0 :(得分:0)
谷歌搜索“提升日志未解决的外部符号”会导致描述BOOST_LOG_DYN_LINK
的{{3}}(第一个突出显示的匹配)。
这也是SO上最常见的答案:https://www.boost.org/doc/libs/1_59_0/libs/log/doc/html/log/rationale/namespace_mangling.html
但是,ABI问题可以发挥作用,请参见例如https://stackoverflow.com/search?tab=votes&q=%5bboost-log%5d%20linker