问题错误描述

在matlab的m文件中执行一条终端命令时出现如下错误信息:

>> test_FIR
/usr/lib/x86_64-linux-gnu/ivl/ivl: /usr/local/MATLAB/R2013a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required 
by /usr/lib/x86_64-linux-gnu/ivl/ivl)

截图如下:



问题来源

在matlab中m脚本中执行一条调用iverilog语句时出错,该语句是:

        % use iverilog
        system('/usr/bin/iverilog -Wall -g2005 -o tmp.vvp test_FIR.v');

使用的系统是ubuntu14.04

解决方法

敲入如下命令:

gsc@gsc-250:~/FPAG_algo/impl/generated$ sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19
[sudo] password for gsc: 
gsc@gsc-250:~/FPAG_algo/impl/generated$ sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19  /usr/local/MATLAB/R2013a/sys/os/glnxa64/libstdc++.so.6
[sudo] password for gsc: 
gsc@gsc-250:~/FPAG_algo/impl/generated$ locate libstdc++.so

执行第二条命令就可以了。

截图如下:

问题原因

首先上述终端的terminal下敲入是正确的,但是通过matlab的m脚本就不行了,并且从出错的信息可以看出matlab自带的glibc的库版本过低,所以只要找到那个可以的库,并且链接上去就可以了,上述的locate 命令是为了找到该libc的路径和动态库全称,ln命令是用来链接文件。

Logo

更多推荐