You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境MATLAB 2019a运行codegen提示GLIBCXX_3.4_20缺失怎么解决

... /lib64/libstdc++.so.6: version: 'GLIBCXX_3.4_20' not found ...

原因说明

该报错是因为运行codegen时依赖的libstdc版本高于当前加载的libstdc.so.6对应的版本,MATLAB 2019a默认会优先加载自带的旧版本libstdc++库,即便系统已经安装高版本库也可能触发该问题。

前置检查

先执行以下命令确认系统已安装的libstdc++.so.6是否包含目标版本:
strings /lib64/libstdc++.so.6 | grep GLIBCXX_3.4.20

  • 如果有输出结果,说明系统库版本满足要求,直接参考【系统版本满足要求的解决方法】操作
  • 如果无输出结果,说明系统库版本过低,先参考【系统版本过低的升级方法】操作,再执行后续配置
系统版本满足要求的解决方法

按需选择对应方案即可:

方法1:临时生效(仅对当前终端启动的MATLAB生效)

启动MATLAB前在当前终端执行:
export LD_PRELOAD=/lib64/libstdc++.so.6
之后在同个终端启动MATLAB即可。

方法2:当前用户永久生效

编辑用户bash配置文件:
vim ~/.bashrc
在文件末尾添加以下内容:
export LD_PRELOAD=/lib64/libstdc++.so.6
保存退出后执行生效命令:
source ~/.bashrc
之后所有终端启动的MATLAB都会优先加载系统高版本libstdc++库。

方法3:修改MATLAB默认库软链接(全局生效,所有用户有效)

先备份MATLAB自带的旧库软链接:
sudo mv /usr/local/MATLAB/R2019a/sys/os/glnxa64/libstdc++.so.6 /usr/local/MATLAB/R2019a/sys/os/glnxa64/libstdc++.so.6.bak
创建指向系统高版本库的软链接:
sudo ln -s /lib64/libstdc++.so.6 /usr/local/MATLAB/R2019a/sys/os/glnxa64/libstdc++.so.6
修改完成后重启MATLAB即可生效。

系统版本过低的升级方法

根据你使用的发行版选择对应命令:

  • CentOS/RHEL系列:
sudo yum install -y devtoolset-8-gcc-c++
source /opt/rh/devtoolset-8/enable

升级完成后可以用以下路径的库替代前文的/lib64/libstdc++.so.6:
/opt/rh/devtoolset-8/root/usr/lib/gcc/x86_64-redhat-linux/8/libstdc++.so.6

  • Ubuntu/Debian系列:
    sudo apt update && sudo apt install -y libstdc++6
    升级完成后再执行前置检查命令确认版本存在,再按前述方法配置即可。

内容的提问来源于stack exchange,提问作者Mastiff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:51:00