0

我在使用 boost::regex 编译时遇到了这个奇怪的错误:

/usr/bin/ld: /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:118: undefined reference to `boost::re_detail_107100::put_mem_block(void*)'

(这不是它抱怨的唯一未定义符号,但这似乎是最直接的)。同一个项目过去使用 gcc 7.4.0 构建良好,但现在我正在尝试 gcc 9.3.0 它失败了。现在,有趣的是:

nm -C lib/libboost_regex.a | grep put_mem_block

在失败的构建中找不到任何东西,但使用旧的 gcc 成功构建:

nm -C lib/libboost_regex.a | grep put_mem_block U boost::re_detail_107400::put_mem_block(void*) U boost::re_detail_107400::put_mem_block(void*) U boost::re_detail_107400::put_mem_block(void*) U boost::re_detail_107400::put_mem_block(void*) 000002b0 T boost::re_detail_107400::put_mem_block(void*) U boost::re_detail_107400::put_mem_block(void*) U boost::re_detail_107400::put_mem_block(void*)

4

0 回答 0