Compiled Matlab exe hangs when calling my Mex function

18 visualizzazioni (ultimi 30 giorni)
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 Commento
Jan
Jan il 25 Giu 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 .

Accedi per commentare.

Risposte (1)

Kaustubha Govind
Kaustubha Govind il 20 Giu 2012
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 Commenti
Kyung Ho Park
Kyung Ho Park il 5 Lug 2012
Modificato: Kyung Ho Park il 5 Lug 2012
Hi. I finally got everything to work. I'm a little bit embarrassed to say that it were all my mistakes. At first, in my C++ code used by mex, I failed to disable all parts related to the Matlab engine. This must be done, because compiled applications can not use the engine, of course. So, I added a new build configuration in Visual C++ that defines a preprocessor macro that disables these code sections and includes. My second mistake was then that in this new build configuration, I renamed the output name from xxx.mexw32 file to xxx_deployed.mexw32, to have both versions in same directory. Of course, I forgot that the Matlab code was looking for the xxx file... So I moved the _deployed version to another dir, renamed it back to xxx.mexw32 and included it back in the deploytool, et voila, it worked, as one would expect. My apologies for "bugging" you with this... & thank you for your help!
Kaustubha Govind
Kaustubha Govind il 6 Lug 2012
Glad you worked that out. Thanks for posting your solution!

Accedi per commentare.

Categorie

Scopri di più su MATLAB Compiler in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by