我在 WSL 中使用 Ubuntu 22.04.3 LTS。我从源代码成功构建并安装了 GCC 13.2.0。这就是我的配置方式:
../gcc/configure --host=x86_64-pc-linux-gnu --disable-multilib --enable-languages=c,c++
/usr/local/bin/g++经过所有正确的步骤后,g++ 已成功安装。但是当我尝试运行一个简单的 Hello World 应用程序时,出现以下运行时错误:
./hello: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by ./hello)
该程序似乎没有与最新构建的 libstdc++ 链接,或者可能根本没有正确构建。我该如何修复这个错误?谢谢。
小智 12
我也遇到了同样的问题,我是这样解决的:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install --only-upgrade libstdc++6
看起来 /lib/x86_64-linux-gnu/libstdc++.so.6: 版本 `GLIBCXX_3.4.32' 是针对 gcc13 的,所以我们需要更新这个文件。
检查结果:
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_3.4.29
GLIBCXX_3.4.30
GLIBCXX_3.4.31
GLIBCXX_3.4.32
GLIBCXX_TUNABLES
GLIBCXX_DEBUG_MESSAGE_LENGTH