Simulink Sfunction Error - not a valid Win32 application
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Since I have installed a Windows update I am getting the following error: Error calling generated SFunction, XXXX_sfun. Invalid MEX-file 'H:\MATLAB\XXXX_sfun.mexw64': H:\MATLAB\XXXX_CTD_sfun.mexw64 is not a valid Win32 application.
If I remove one of the SFunctions from the model I no longer get the error. If I put that SFunction back into the model and remove a different SFunction from the model I no longer get the error.
There are no global variables.
The model worked before the Windows update. I have changed some formulas in the functions but nothing too significant. Running the Matlab code associated with the SFunctions by itself works fine, so I don't think it is a coding bug.
Not sure where to go from here.
0 comentarios
Respuestas (2)
Madhura Suresh
el 17 de Jun. de 2014
It is possible that the bitness of the S function and MATLAB or some of the modules have a bitness mismatch. Is it possible that the S function module is 32 bit, and everything else might be 64 bit? You can check the bitness of MATLAB by using
>> mexext
Kaustubha Govind
el 17 de Jun. de 2014
My guess is that your update either wiped out your system PATH environment variable or uninstalled your Visual C++ redistributables (these are runtime libraries that binaries compiled with Visual Studio depend on). I would recommend trying to reinstall the Visual C++ redistributables corresponding to the version of Visual Studio that you used to compiled the MEX-files. You should be able to find them from Microsoft's Download Center.
If that doesn't help, you can use Dependency Walker to figure out if you are missing any other dependencies.
4 comentarios
Abdulla Hammad
el 5 de Ag. de 2016
Dependency Walker was a very useful tip. I discovered I am using a Win32 bit version of the DLL instead of 64bit.
Thank you Kaustubha Govind, Abdulla
Ver también
Categorías
Más información sobre C Shared Library Integration 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!