rk3399的android10编译报错 `GLIBCXX_3.4.20‘ not found

使用sdk中的build.sh打包固件时报错

./afptool: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./afptool)

./afptool: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./afptool)

./afptool: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./afptool)

解决方法 在sdk对应的目录里

find / -name "libstdc++.so.*"

 

找到最新的

libstdc++.so.6.0.25

cp RK_Android_10.0_sdk/frameworks/opt/gamesdk/third_party/protobuf-3.0.0/install/linux-x86/lib/libstdc++.so.6.0.25 /2t_work4/

把这个so文件复制到/2twork4/  这个目录里

然后进入

cd /usr/lib/x86_64-linux-gnu

查看 libstdc++.so.6的软连接

ls -l libstdc++.so.6

然后将libstdc++.so.6.0.25复制到对应目录从新创建libstdc++.so.6的软连接

su

MobaXterm 是一款功能强大的远程计算工具,适用于 Windows 系统。它集成了多种网络工具和 Unix 命令行功能,但在某些情况下,可能会遇到 GLIBCXX 版本不足的问题,例如提示 `GLIBCXX_3.4.20 not found`。这通常是因为系统中缺少新版的 `libstdc++` 库。 ### 问题分析 GLIBCXX 是 GNU C++ 标准库(libstdc++)的一部分,版本号如 `GLIBCXX_3.4.20` 表示特定的功能或符号集。当某个程序依赖的 C++ 标准库版本高于当前系统提供的版本时,就会出现此类错误。MobaXterm 本身依赖于某些 Linux 环境下的库,如果系统中未正确安装或更新这些库,就会导致运行失败。 ### 解决方案 1. **手动更新 libstdc++ 库** 在 Windows 系统中,MobaXterm 使用其内置的 Cygwin 环境来运行 Linux 命令。因此,可以通过更新 MobaXterm 的 Cygwin 包来解决 GLIBCXX 版本问题。具体操作如下: - 打开 MobaXterm。 - 进入菜单栏的 `Settings > Configuration > Cygwin/X`。 - 点击 `Update Cygwin/X packages`。 - 在弹出的包管理器中搜索 `libstdc++` 或 `gcc` 相关包,并更新到最新版本。 2. **手动下载并替换 libstdc++6.dll** 如果更新 Cygwin 包无法解决问题,可以尝试手动下载并替换 `libstdc++-6.dll` 文件: - 从 [MinGW 官方网站](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/) 或可信的第三方源下载最新版本的 `libstdc++-6.dll`。 - 将下载的 `libstdc++-6.dll` 文件复制到 MobaXterm 的安装目录下的 `cygwin/bin` 文件夹中(例如 `C:\Program Files (x86)\MobaXterm\cygwin\bin`)。 - 替换旧文件后重启 MobaXterm。 3. **使用系统环境变量检查冲突库** 某些情况下,Windows 系统路径中可能包含旧版本的 `libstdc++-6.dll`,导致冲突。可以通过以下命令检查当前路径中的库来源: ```bash where libstdc++-6.dll ``` 如果发现有多个路径指向不同版本的 DLL 文件,可以临时修改系统 PATH 环境变量,优先使用 MobaXterm 自带的 Cygwin 路径。 4. **使用虚拟机或 WSL 替代方案** 如果上述方法仍无法解决问题,可以考虑在 Windows 上使用 WSL(Windows Subsystem for Linux)或虚拟机运行 Linux 环境,从而避免 Cygwin 的兼容性问题。WSL 提供原生的 Linux 用户空间,支持完整的 GLIBC 和 libstdc++ 实现。 ### 示例命令 更新 Cygwin 包的命令(在 MobaXterm 终端中执行): ```bash cd /cygdrive/c/Program\ Files\ \(x86\)/MobaXterm/cygwin setup-x86_64.exe -q -P libstdc++6 ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华光流年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值