ubuntu执行MATLAB程序下出现错误:”GLIBCXX_3.4.18' not found“ 的解决办法

这个错误往往是编译器版本错误造成的,下面是解决办法:
1. 输入以下命令,定位libstdc++.so.6文件:

locate libstdc++.so.6

我电脑的输出结果如下:

/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24
/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6
/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.17
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24-gdb.py

2.目录/usr/local/MATLAB/R2014a/sys/os/glnxa64下的 libstdc++.so.6 和 libstdc++.so.6.0.17 是我们运动MATLAB程序所用到的文件,输入以下命令可查看其支持的版本:

strings /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.17 |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_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

从输出结果可以看到其只支持早于GLIBCXX_3.4.18的版本。
3.从步骤1可以看到我电脑上已经有了一个高版本的文件(/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24),在此只需替换原文件重新链接:

  • 复制文件及以下的操作都需要sudo:
 sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24 /usr/local/MATLAB/R2014a/sys/os/glnxa64
  • 删除目标文件夹下原来的libstdc++.so.6 文件,否则无法创建硬链接:
sudo rm libstdc++.so.6
  • 在目标文件夹下建立硬链接:
 rhl@rhl-Lenovo-G480:/usr/local/MATLAB/R2014a/sys/os/glnxa64$ sudo ln libstdc++.so.6.0.24 libstdc++.so.6 

到此,回到步骤2查看支持的版本,输出结果如下:

rhl@rhl-Lenovo-G480:/usr/local/MATLAB/R2014a/sys/os/glnxa64$ strings /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.17 |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_DEBUG_MESSAGE_LENGTH

然后新打开一个终端再运行MATLAB程序就没有这个问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值