无效的 mex 文件错误(libstd++ 版本)

Posted

技术标签:

【中文标题】无效的 mex 文件错误(libstd++ 版本)【英文标题】:invalid mex file error (libstd++ version) 【发布时间】:2016-02-26 06:25:36 【问题描述】:

我在Linux系统上用Matlab编译了一些代码,生成了.mexa64文件,但是在运行时出现如下错误:

无效的 MEX 文件“/*.mexa64”:/matlab-8.5/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6:未找到版本“CXXABI_1.3.8”。

我尝试在 matlab make 文件中通过以下两个命令在 make 文件中设置 -rpath: LDFLAGS="\$LDFLAGS -rpath=/usr/local/GNU/glibc-2.22/lib/"

LDFLAGS="\$LDFLAGS -dynamic-linker=/usr/local/GNU/glibc-2.22/lib/ld-linux-x86-64.so.2"

但是,它不能解决问题。

【问题讨论】:

你可以找到很多类似的问题,这里有一个:***.com/questions/9959306/… 【参考方案1】:

这适用于我的情况: 转到您的 matlab 安装: cd /usr/local/MATLAB/R2015a/sys/os/glnxa64 并重命名这两个文件: sudo mv libstdc++.so.6 libstdc++.so.6.orig sudo mv libgcc_s.so.1 libgcc_s.so.1.orig

【讨论】:

以上是关于无效的 mex 文件错误(libstd++ 版本)的主要内容,如果未能解决你的问题,请参考以下文章

为啥我收到错误“无效的 MEX 文件”,而文件位于当前文件夹中?

MATLAB 无效的 MEX 文件错误:缺少符号 invalid_argument

在新的 matlab 版本上运行旧的 mex 文件

SUN 基准代码 Invalid .mex 文件错误

Matlab 缺少依赖项 MEX 文件

无效的 MEX 文件错误 CascadeClassifier_.mexmaci64、libopencv_ocl.2.4.dylib