【问题标题】:Matlab R2016a Mex file errorMatlab R2016a Mex 文件错误
【发布时间】:2016-04-28 14:21:57
【问题描述】:

我在 fedora 23 上有 gcc 版本 5.3.1,我想运行一些 mex 文件。当我编译文件时,我收到以下警告:

警告:您使用的是 gcc 版本“5.3.1-6)”。不支持 gcc 的版本。 MEX 当前支持的版本是“4.7.x”。有关当前支持的编译器的列表 见:http://www.mathworks.com/support/compilers/current_release

当我尝试运行它时,我收到以下错误:

无效的 MEX 文件“/home/x/Downloads/MatlabEXR/MatlabEXR/exrread.mexa64”:/usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++ .so.6:版本“CXXABI_1.3.8”不是 找到(/home/x/Downloads/MatlabEXR/MatlabEXR/exrread.mexa64 需要)

我试过这个:How to tell mex to link with the libstdc++.so.6 in /usr/lib instead of the one in the MATLAB directory?

但我仍然得到同样的错误。有什么想法可能是什么问题?

【问题讨论】:

  • 错误很明显。您使用的编译器比 MEX 支持的编译器更新。您必须使用 gcc 4.7.x 才能与 MEX 兼容。有关详细信息,请参阅 MathWorks 的此链接:mathworks.com/support/compilers/R2016a/index.html?sec=glnxa64
  • 如何同时拥有 gcc-4.7 和 gcc 5.3.1 并将 matlab 链接到旧版本?

标签: c++ matlab gcc


【解决方案1】:

我有一个关于 libstdc++ 的类似问题(我无法绘制任何东西)。这是我的问题的链接。 matlab on linux can't plot anything(can't load libstdc++.so.6: version `CXXABI_1.3.8' not found)

那里也说明了我是如何解决这个问题的。

希望有帮助

【讨论】:

    【解决方案2】:

    您的错误源于您的 libstdc++ 默认使用新的 ABI (https://gcc.gnu.org/gcc-5/changes.html)。您无法使用 gcc 5.xx 版本链接您的 MEX 文件。

    【讨论】:

      猜你喜欢
      • 2016-04-04
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 2013-03-10
      • 1970-01-01
      相关资源
      最近更新 更多