'Not a valid win32 application' error - using mex files with Matlab 2011b and Visual C++ 2010 Express
23 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ellen Webborn
el 18 de Mayo de 2012
Hello
I have C++ project which compiles in Visual C++ 2010 Express, which I have set as my compiler using mex -setup in MatLab R2011b, but when I try to run this mex file from an m-file in Matlab I get the following error:
Invalid MEX-file 'C:\Users\Ellen W\Documents\Visual Studio 2010\Projects\Simulate\Debug\simulate.mexw32': C:\Users\Ellen W\Documents\Visual Studio 2010\Projects\Simulate\Debug\simulate.mexw32 is not a valid Win32 application.
I followed online instructions exactly about what settings I need for the project. My computer is Windows 7 Professional, 32bit operating system.
Thank you in advance for your help!
2 comentarios
Paola
el 19 de Feb. de 2015
Editada: Paola
el 19 de Feb. de 2015
I have a similar problem. In MATLAB 2012b 64 bit, when setting up the compiler, it was found when using the mex -setup command:
Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n? y
Select a compiler: [1] Microsoft Software Development Kit (SDK) 7.1 in C:\Program Files (x86)\Microsoft Visual Studio 10.0
[0] None
However, for MATLAB 2014b 32-bit, it does not show me any other available compiler than the lcc-win32 and just the Microsoft Software Development Kit (SDK) 7.1, which seems not to be linked to Microsoft Visual Studio somehow. With each compiler I get different errors when trying to use precompiled mex-functions (both for 32 and 64 bits). For 64 bits, they are working ok. When using the lcc compiler, I get the same error, which tells me the mex32 function is not a valid Win32 application. I cannot find the way to make this work.
Respuesta aceptada
Kaustubha Govind
el 18 de Mayo de 2012
Is there a reason that you don't compile directly using the "mex" command in MATLAB? The most likely issue could be that the MEX-file depends on Visual Studio redistributables (DLLs) which are not on the System path, so MATLAB is unable to load them, which is necessary to run the MEX-file. Could you try running your MEX-file through Dependency Walker and see if you can find the missing dependencies.
0 comentarios
Más respuestas (1)
Mike Woodward
el 26 de Jun. de 2012
You might find the following download helpful: http://www.mathworks.com/programs/simulink-visual-studio/simulink-and-visual-studio.html - it's for Windows 64 - but it should point you in the right direction.
Mike
0 comentarios
Ver también
Categorías
Más información sobre Troubleshooting in MATLAB Compiler SDK en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!