zoukankan      html  css  js  c++  java
  • Ubuntu 下 Matlab R2010a 错误:`GLIBCXX_3.4.11' not found 的解决办法

    ubuntu 12.04下用Matlab R2010a (64位)跑Mex时,出现如下错误:

    1 /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1: /usr/local/MATLAB/R2011a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/libppl_c.so.2)
    2 /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1: /usr/local/MATLAB/R2011a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libppl_c.so.2)
    3 /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1: /usr/local/MATLAB/R2011a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/libppl.so.7)
    4 /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1: /usr/local/MATLAB/R2011a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libppl.so.7)
    5 /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1: /usr/local/MATLAB/R2011a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libgmpxx.so.4)

    在Mathworks的网站上可以看到, R2010a版本支持的编译器是gcc-4.3.2. 而在12.04上安装的GCC是4.6版本的,因此会出现这种错误。 值得注意的是,不要试图尝试在你的11.04以上的ubuntu上安装gcc-4.3, 因为该版本ubuntu已经不支持这个版本的编译器了。

    其实用更高版本的编译器是没有任何问题的, 你所需要做的只是更改配置文件

    在MATLAB命令行执行下列命令,任意选择一个编译器

    mex -setup

    然后使用任意编辑器MATLAB用于保存Mex配置的配置文件, 该文件位于 ~/.matlab/R2010a/mexopts.sh

    $sudo gedit ~/.matlab/R2010a/mexopts.sh
    • 将所有出现的gcc都更改为你所安装的gcc版本, 如gcc-4.6
    • 将所有出现的g++都更改为你所安装的g++版本, 如g++-4.6
    • 将所有出现的gfortan都更改为你所安装的版本, 如gfortan-4.6
    重新启动matlab,重新mex你的c/c++文件,报错得到解决。
  • 相关阅读:
    DFS——hdu4068
    java 浮点数定点输出
    中国剩余定理——zoj 3538
    Solr4:设计数据结构,就是配置schema.xml
    Solr4:索引的复制
    Solr4:创建索引时的一些建议
    Java:取得当前日期一周之前/之后的日期,或者是一月之前/之后的日期
    Solr4:利用Filter实现两组关键词组合查询
    MyBatis3入门一(简单查询、插入)
    MyBatis3入门二(增加、删除、修改、查询,自增长字段)
  • 原文地址:https://www.cnblogs.com/platero/p/2516349.html
Copyright © 2011-2022 走看看