TLD算法:**/libstdc++.so.6: version `GLIBCXX_3.4.11' not found错误及解决

完整错误为:

Invalid MEX-file '×××××××××':/usr/local/MATLAB/R2011a/bin/glnxa64/sys/os/glnxa64/libstdc++.so.6: version

`GLIBCXX_3.4.11' not found (required by ******)


解决方法:

1,将MATLAB~/sys/os/glnxa64/libstdc++.so.6,改名为libstdc++.so.6_backup

sudo mv libstdc++.so.6 libstdc++.so.6_backup

2,这样就可以调试通过,或者将/usr/lib/libstdc++.so.6建一个软链接到 上面那个目录下也可以。


至此,TLD 终于可以正常工作了。

关于这个的原理后面补上。


博客:libstdc++.so.6:version ‘GLIBCXX_3.4.**’not found

http://yq000cn.blog.163.com/blog/static/14369070201171653016852/

给出了文件libstdc++.so.6的查看方法:

$strings $MATLAB_Path/sys/os/glnxa64/libstdc++.so.6|grep "GLIBC"
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
GLIBC_2.1.3
GLIBC_2.2
GLIBC_2.3
GLIBC_2.0
GLIBC_2.1
GLIBCXX_FORCE_NEW

Linux:

$strings /usr/lib/libstdc++.so.6|grep "GLIBC"
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
GLIBC_2.0
GLIBC_2.3
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

所以做如下操作:

让MATLAB的libstdc++.so 软链接指向Linux的库文件

$ln –s /usr/iib/libstdc++.so.6 $MATLAB_Path/sys/os/glnxa64/libstdc++.so.6



你可能感兴趣的:(算法,linux,工作,matlab)