我正在尝试在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。
答案 0 :(得分:2)
mexw32建议您使用32位编译器构建MEX文件。您需要使用64位编译器 - 重新检查Windows SDK 7.1的编译器设置。
编辑:其他可能的问题(如果我们排除了32/64不兼容性)
您的用户或系统路径中的LIBMX.dll路径是什么?
您是否安装了正确的Visual Studio Redistributable版本DLL?