在Matlab 2013a中编译和运行mex

时间:2014-06-02 05:12:23

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

我正在尝试在matlab中编译和运行c ++函数。我的笔记本电脑上有Matlab 2013a(64位)+ Windows 7(64位)。我也安装了Microsoft Windows SDK 7.1。 Matlab编译函数时没有错误,但在运行时,它会显示无效的mex文件'... \ filename.mexw64'找不到指定的模块。

以下是我的努力报告,可能有助于解决问题:
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。

1 个答案:

答案 0 :(得分:2)

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

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

您的用户或系统路径中的LIBMX.dll路径是什么?

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