我已经在笔记本电脑上成功编译了Mex文件。但是当我运行它时,它会显示Invalid mex file 'c:\newfolder\filename.mexw32' The specified module could not be found
。
System specification:
OS: windows 7
MATLAB 2010a
Microsoft Visual Studio 2008.
在XP SP3下,我的PC上编译并运行相同的mex文件。
答案 0 :(得分:9)
This MathWorks support link为您的问题提出了两个可能的原因:
无论哪种方式,要找到此错误的来源,它表示您需要列出所有相关库文件并验证它们是否存在于您尝试运行MEX文件的系统中,并且还建议{{3} }作为这样做的工具。
答案 1 :(得分:4)
你是否在另一个系统上创建了mex文件而不是创建它的文件?
如果是,那么您需要在该计算机上安装Microsoft Visual C++ Redistributable。
答案 2 :(得分:0)
从Matlab2010a / VS2008升级到Matlab2013a / VS2010时,我也遇到了这个问题。
我的所有环境变量都已正确发送。 重启修复了OpenCV dll无法找到的问题,我认为它仍然试图链接到VS2008的OpenCV dll(即使我已经改变了路径)。但是我的mex文件仍无法找到libmex.dll。
当我安装Matlab2013a时,我没有卸载旧版本(如果我想回去)。 然而,这是我的问题的原因。 一旦我卸载旧版本的Matlab并重新启动,问题就消失了。
答案 3 :(得分:0)
我有类似的问题。我只是链接1'lib'所以我只是将该lib复制到与mexw64相同的文件夹中,并且它有效。
我没有找到正确的地方告诉MATLAB将lib的真实位置添加到它正在查看的任何路径。