Main Content

无效的 MEX 文件错误

如果 MATLAB® 找不到 MEX 文件引用的所有 .dll 文件,则无法加载该 MEX 文件。MATLAB 显示以下错误消息:

Invalid MEX-file mexfilename:
The specified module could not be found.

其中 mexfilename 是依存关系有错误的模块。此模块找不到它所依赖的库。要解决此错误,请查找所依赖库的名称,并确定它们是否存在于您的系统和系统路径中。要查找库依赖项,请执行以下操作:

  • 在 Windows® 系统上,从网站 https://www.dependencywalker.com 下载 Dependency Walker 实用工具。

  • 在 Linux® 系统上,使用:

    ldd -d libname.so
  • macOS 系统上,使用:

    otool -L libname.dylib

对于 MEX 文件在编译时所链接的 .dll 文件,这些 .dll 文件必须位于系统路径上或位于与 MEX 文件相同的文件夹中。

MEX 文件可能需要其他未链接到 MEX 文件的库。未能找到其中一个显式加载的库可能不会导致 MEX 文件无法加载,但会导致其无法正常工作。加载库的代码控制用于查找这些库的搜索路径。搜索路径可能不包括包含 MEX 文件的文件夹。有关正确的安装位置,请查阅库文档。

可能的故障原因包括:

  • MATLAB 版本不兼容。有关详细信息,请参阅MEX 版本兼容性

  • 缺少编译器运行时库。如果您的系统没有包含用于编译 MEX 文件的相同编译器,请参阅 Microsoft® MSDN® 网站,了解关于 Visual C++® 可再发行软件包的信息。

  • 缺少或不正确地安装了专用运行时库。请联系您的 MEX 文件或库供应商。

相关主题

外部网站