Other standard built-in functions (e.g. abs, sqrt, strcmp,find, etc.) appear to work fine, and full libraries are OK as long as they don't use matfun functions (as far as I can tell so far). However, even a two-line function with no input or output like the one below fails when compiled into a .dll and accessed by an external program.
function test1()
input=[4 5 6; 6 7 8; 10 2 5];
test_out=svd(input);
return;
I'm just wondering if anyone else has run across this, and if so, if there's a solution? It could be a configuration on my computer, but I can't figure it out. I can't find any specific information in the documentation.
Thanks for any help / advice.
-Tom
My code runs fine in Matlab but the compiled program crashes on that mllapack.dll message.
Quite frustrating...
Thanks,
Tom
I have encountered very similar problem under 2006B window (we still use this old version for our commercial product).
In my case:
- The issue seems to appear only at the very first call to a ML built_in matrix function
- nothing crashes as long as the result will not be used by the program
Based on that, I make a nasty workaround:
- After initialization of my application, call a dummy DLL compiled function that in turn call ML QR, for example.
- Then call my other DLLs as normal
So far it works, but the "solution" is unsatisfied. I agree it's a pain.
Bruno
>function DummyFunction()
> input=[4 5 6; 6 7 8; 10 2 5];
> test_out=svd(input);
>return;
Even when I compile this simple function as stand alone, it crashes too.
When I use the dependency walker, I see that it finds and loads the mllapack.dll but that it calls an unknown function...
Any other ideas or tips are welcome.
an older "libmmd.dll" was present in windows/system32 directory.
the version that comes with the Matalb Runtime bin/win32 directory was not used.
Getting rid of the older version solved the problem.
I haven't figured out yet why it was there and why it doesn't get updated in the windows directory when installing the vcredist.
What a pain.