我正在尝试使用(gcc 8.2)和boost 1.68构建一个C ++程序。 使用以下命令
g++ simple_link.cpp /home/research/boost_library/boost_1_68_0/stage/lib64/libboost_regex.a
它可以编译并正常运行。但是当我使用跟随命令编译时
g++ simple_link.cpp -L/home/research/boost_library/boost_1_68_0/stage/lib64/ -lboost_regex
它可以编译。运行时,出现以下错误
./a.out: symbol lookup error: ./a.out: undefined symbol: _ZN5boost16re_detail_10680012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE14construct_initERKNS_11basic_regexIcSJ_EENS_15regex_constants12_match_flagsE
它在/ home / research / boost_library / boost_1_68_0 / stage / lib64 /文件夹中,它具有 libboost_regex.so和libboost_signals.so.1.68.0。
我看到了类似的帖子Boost linking error: 'B5cxx11' symbols missing 但是所有的答案都不能解决我的问题。