Compiled Matlab exe hangs when calling my Mex function
Show older comments
Hi, I have a Matlab GUI which uses a Mex file I created. Everything works fine when executing it in Matlab. I then created an exe file using deploytool, and the build process completes successfully, launching my GUI. However, when the code arrives at the first call to one of my mex functions, it just hangs there.
In order to check if my Mex code was causing the trouble, I recompiled the mex DLL with the whole mexfunction body commented out, so the mex function should just return after doing nothing. Even so, the compiled matlab exe hangs when calling this empty mex function.
Anyone knows what is causing the trouble?
And why is typing this message so difficult? The cursor pauses almost every character that I type ?
1 Comment
Jan
on 25 Jun 2012
The keyboard latency in this forum reduces the usability of the interface dramatically for some users, see http://www.mathworks.com/matlabcentral/answers/5560-do-you-suffer-from-keyboard-latency-in-this-forum . Please send another enhancement request to files@mathworks.com .
Answers (1)
Kaustubha Govind
on 20 Jun 2012
0 votes
There is perhaps an error message that is causing the application to hang. Have you tried compiling your application without suppressing the command/shell window? Use the "Console Application" option instead of Windows standalone. When you run the thus compiled application, you should see a command window open in the background. See if there is any error displayed there?
5 Comments
Kyung Ho Park
on 25 Jun 2012
Image Analyst
on 25 Jun 2012
You probably forgot to specify the full path of some file, for example in loadlibrary(). If you used just the base filename, it might not find it. Do you have any output to the screen that you can share? It's probably not a bug. Finally, check the FAQ for suggestions: http://matlab.wikia.com/wiki/FAQ#My_standalone_executable_won.27t_run_on_the_target_computer._What_can_I_try.3F
Kaustubha Govind
on 25 Jun 2012
@Kyung Ho Park: I'm assuming that you have installed the MCR corresponding to R2011b on your XP machine (which I assume is also 64-bit)? You cannot run an application compiled using R2011b 64-bit against MATLAB libraries from a different version/platform. Or do you mean that the issue only occurs when you call into a MEX-file but not otherwise? Could you try running "which mexFunctionName" and print the result just before running the MEX-file? This will tell you if the issue might be that the compiled executable can't find the file in the first place.
Kyung Ho Park
on 5 Jul 2012
Edited: Kyung Ho Park
on 5 Jul 2012
Kaustubha Govind
on 6 Jul 2012
Glad you worked that out. Thanks for posting your solution!
Categories
Find more on MATLAB Compiler in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!