'Not a valid win32 application' error - using mex files with Matlab 2011b and Visual C++ 2010 Express

27 views (last 30 days)
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 Comments
Paola
Paola on 19 Feb 2015
Edited: Paola on 19 Feb 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.

Sign in to comment.

Accepted Answer

Kaustubha Govind
Kaustubha Govind on 18 May 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.

More Answers (1)

Mike Woodward
Mike Woodward on 26 Jun 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

Categories

Find more on Troubleshooting in MATLAB Compiler SDK 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!