我在哪里可以找到 GLIBCXX_3.4.29?

新手上路,请多包涵

我将我的 GCC 编译器从 GIT 存储库更新到版本 11。现在我的测试代码 (GoogleTest/GoogleMock) 抱怨找不到 GLIBCXX_3.4.29。 这不是重复的,请重新打开 发布的答案: Understanding the gcc version and the GLIBC, GLIBCXX versions in more detail (2 answers) 没有回答这个问题。

链接器错误是:

/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29 not found

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

 GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH

我在哪里可以找到 3.4.29?

原文由 James Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.6k
2 个回答

构建 GCC 并安装二进制文件后,软链接 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 没有更新到最新版本。我的仍然指向上面评论中提到的以前的版本。在 GCC 构建目录下,我找到了 GLIBCXX_3.4.29 构建目录并将库复制到 /usr/lib/x86_64-linux-gnu 并更新了软链接。

原文由 James Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议

sudo add-apt-repository ppa:ubuntu-toolchain-r/test # Ignore if not ubuntu

sudo apt-get update

sudo apt-get install gcc-4.9

sudo apt-get upgrade libstdc++6

完成后,请确保运行以下命令:

 sudo apt-get dist-upgrade

此外,请确保确认为正确的 GLIBCXX 版本安装了必要的依赖项。

 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

还可以尝试@bobka 的快速解决方案

export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH # add to ~/zshrc OR bashrc whatever

原文由 Agrover112 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题