【问题标题】:compiling and running mex in Matlab 2013a [closed]在 Matlab 2013a 中编译和运行 mex [关闭]
【发布时间】:2014-06-02 05:12:23
【问题描述】:

我正在尝试在 matlab 中编译和运行一个 c++ 函数。我的笔记本电脑上有 Matlab 2013a (64Bit) + windows 7(64Bit)。我还安装了 Microsoft Windows SDK 7.1。 Matlab编译该函数没有错误,但运行时提示 Invalid mex file '...\filename.mexw64' The specified module could not be found.

以下是我的努力报告,可能有助于解决问题:
1-使用“Dependency Walker”后显示:?LIBMX.dll ?MSVCP110.dll ?MSVCR110.dll“打开文件时出错。系统找不到指定的文件(2)。”

2-我在“D:\Program Files\MATLAB\R2013a\bin\win64”中有 LIBMX.dll,但是当我尝试注册它时,它显示“模块 LIBMX.dll 已加载但入口点找不到 DllRegisterServer。请确保 LIBMX.dll 是有效的 dll 或 ocx 文件,然后重试。"

3- 我的笔记本电脑上没有 MSVCP110.dll 和 MSVCR110.dll。

【问题讨论】:

  • 墨西哥似乎是地狱
  • 听起来代码依赖于已编译的名为filename 的 MEX 文件。是否有您调用 filename 的 MEX 文件?
  • 是的,文件名是已编译的 mex 文件的名称,我的笔记本电脑上有它。但是matlab找不到它

标签: c++ visual-studio-2010 matlab dll


【解决方案1】:

mexw32 建议您使用 32 位编译器构建 MEX 文件。您需要使用 64 位编译器 - 重新检查 Windows SDK 7.1 的编译器设置。

编辑:其他可能的问题(如果我们排除了 32/64 不兼容)

您的 LIBMX.dll 的路径是否在您的用户或系统 PATH 中?

您是否安装了正确的 Visual Studio Redistributable 版本 DLL?

【讨论】:

  • 对不起,我修改了我的句子:Invalid mex file '...\filename.mexw64' The specified module could not be found
  • 感谢 bogeyc 的帮助。我的问题与缺少 MSVCR110.dll 有关。我已经为 Visual Studio 2010 安装了 Visual C++ Redistributable。但是当我为 Visual Studio 2012 安装 Visual C++ Redistributable 时,问题就解决了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多