/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./vnm_cli_cpp)
时间: 2023-06-30 21:22:23 浏览: 188
这个错误提示是因为你的程序需要使用 GLIBCXX_3.4.29 版本的库文件,但是当前系统中安装的 libstdc++.so.6 库文件版本不满足要求。
解决这个问题的方法是安装具有 GLIBCXX_3.4.29 版本的 libstdc++.so.6 库文件,或者更新当前系统中的 libstdc++.so.6 库文件到符合要求的版本。
你可以通过以下命令在系统中查找可用的 libstdc++.so.6 库文件版本:
```
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
```
如果找到了 GLIBCXX_3.4.29 版本的库文件,可以通过以下命令创建软链接:
```
ln -s /usr/lib64/libstdc++.so.6.X.X /usr/lib64/libstdc++.so.6
```
其中,/usr/lib64/libstdc++.so.6.X.X 是具有 GLIBCXX_3.4.29 版本的库文件路径。如果没有找到符合要求的库文件,你需要安装或更新 libstdc++.so.6 库文件。
相关问题
./NluModelModuleEXE: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./NluModelModuleEXE)
这个错误是由于缺少GLIBCXX_3.4.29版本引起的。解决这个问题有两种方法:
1. 通过替换libstdc++.so.6文件来解决[^1]:
```shell
cd /usr/local/lib64
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
cp libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64
rm libstdc++.so.6
ln -s libstdc++.so.6.0.26 libstdc++.so.6
```
2. 通过升级glibc来解决:
```shell
wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar -xvf glibc-2.17.tar.gz
cd glibc-2.17
mkdir build && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install
```
lib/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/lib64/libdnf.so.2
这个错误消息表示您的系统缺少 GLIBCXX_3.4.26 版本所需的库文件。GLIBCXX 是 GNU C++ 标准库的一部分,而 GLIBCXX_3.4.26 是其中的一个特定版本。
要解决这个问题,您可以尝试以下几种方法:
1. 更新 libstdc++ 库:检查您的系统是否有可用的更新版本,然后使用包管理器或手动下载并安装该版本。例如,在 Ubuntu 上,可以运行以下命令来更新 libstdc++ 库:
```
sudo apt-get update
sudo apt-get upgrade libstdc++6
```
2. 安装兼容版本的库:如果您需要的特定库版本在官方仓库中不可用或不兼容,您可以尝试安装其他源或第三方库来提供所需的版本。
3. 编译源代码:如果您有源代码可用,您可以尝试将其编译为适用于当前系统的版本。这需要一些编译和配置技巧,请参考相关文档或使用指南。
请注意,更改系统库可能会对其他应用程序产生影响,因此请谨慎操作,并确保您了解所做更改的后果。如果不确定如何操作,建议咨询系统管理员或寻求社区支持。
阅读全文