Why do I get a, Invalid MEX-file error .
3 次查看(过去 30 天)
显示 更早的评论
I'm trying to run a mex file compiled in VS2010, but when I call it from Matlab the prompt return the next error message.
Invalid MEX-file 'C:..\MyFunction.mexw32': The specified procedure could not be found.
Why?
4 个评论
Image Analyst
2017-4-21
I don't believe the new 64 bit MATLAB versions can run 32 bit DLLs. At least I couldn't call one of mine when I tried. How many bits is your OS and MATLAB?
Walter Roberson
2017-4-21
In MS Windows (and OS-X, and Linux) 64 bit executables cannot call 32 bit libraries. This is a limitation of the operating system architecture.
(I have never encountered an operating system that allowed this, but I could not say for sure that no operating system allows it.)
回答(2 个)
Image Analyst
2012-12-10
How are you trying to run the mex file? As I understand it you don't run these, you call them from an m-file since they are basically DLLs. What happens if you say
>> which -all MyFunction
on the command line? Are you sure it's on your search path? If you say "path" does the folder where the mex file lives appear on the path?
1 个评论
Walter Roberson
2012-12-10
Also, are you trying to run it from a 32 bit MATLAB or a 64 bit MATLAB ? .mexw32 is only for 32 bit MATLAB.
Ken Atwell
2012-12-10
Could your MEX-File require another .DLL, and it is that DLL that cannot be found? Use a tool like Dependency Walker to display the functions available inside the MEX-File ("mexFunction" at a minimum should be there), and anything it may depend on. Anything in red may not be visible to MATLAB.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!