• 具体错误

/usr/bin/ld: /tmp/ccaUBTY7.o: undefined reference to symbol '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21'
/usr/bin/ld: /lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

  • 原因

编译时试图链接/lib/x86_64-linux-gnu/libstdc++.so.6,结果发现有问题。

更新后还是报错:

sudo apt-get install --reinstall libstdc++6

检查有没有多余的:

/lib$ find -name libstdc++*
./x86_64-linux-gnu/libstdc++.so.6
./x86_64-linux-gnu/libstdc++.so.6.0.30
./gcc/x86_64-linux-gnu/11/libstdc++.a
./gcc/x86_64-linux-gnu/11/libstdc++fs.a
./gcc/x86_64-linux-gnu/11/libstdc++.so

说明要换用gcc的。

  • 解决办法
gcc \
    -L/lib/gcc/x86_64-linux-gnu -lstdc++ \

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐