I've compiled an application, which contains a mex file called iprodFloat.mexw32. On the machine where I compile, it runs fine. I'll footnote here that this machine is 64-bit, running Windows 7, but I compiled the application within a 32-bit MATLAB installation.
On the target 32-bit machine, the application launches successfully, but quits with an error part way through, saying that it cannot find iprodFloat.mexw32. However, the error message gives the full path to the ctf archive folder where it failed to find the file, and when I go there, I can see the mex file sitting there in plain view. Obviously, I'm at a loss as to why the application cannot find it!
To double check, I deleted the CTF archive on the target machine and ran the .exe again. This regenerated the CTF archive, again containing iprodFloat.mexw32, but again the .exe quit with the same error.
The only thing that looks a bit suspicious to me is that the CTF archive also contains a file called iprodFloat.mexw32.auth. I'm wondering what the purpose of such a file is, and if it restricts access permission to the file somehow.
Would be grateful for any insights!
What platform is this on? Windows 7? If so, the exe unpacks the actual executable to some hidden folder in the c:\users\Matt\blah blah blah folder. Put this line in your startup code to see where it actually lives:
It may not be where you thought it was. So if it is in your Users folder, permissions would not be an issue. UNLESS you did a cd() in your code - which is usually not advised. Is there a cd anywhere in your code?
Have you also gone through the items in the FAQ: http://matlab.wikia.com/wiki/FAQ#My_standalone_executable_won.27t_run_on_the_target_computer._What_can_I_try.3F
Is the application that tries to use your mex file a MATLAB-compiled executable, or some other program, like one created in Visual Studio?