MATLAB Answers


Calling a MEX file from C# application...

Asked by Mitchell Lebold on 2 Aug 2011

Is it possible to call a matlab generated/compiled file (like MEX) from a C# Windows application? I would like to develop a generic data collection application which can process and display user defined signal processing algorithms. My thought was to have the user supply a generic MEX file for the dataa processing only (Assuming the I/O of the DLL will be user known for passing data to and from the MEX function.) The functions will be simple and provide only a simple output(Examples: Min, Max, Mean, etc). Also, can this be possible without having Matlab installed on the machine (ie. all the code need is complied into the MEX DLL?


1 Answer

Answer by Kaustubha Govind
on 2 Aug 2011

MEX-functions call into MATLAB run-time libraries, so you do need to have MATLAB, or if you are using MATLAB Compiler-based products, the MATLAB Compiler Runtime, installed on the machine. In the latter case, you can have a wrapper MATLAB (.m) function call into the MEX-function, and use MATLAB Builder NE to create a .NET assembly from it. You can also use the more basic MATLAB Compiler product to build a shared library from it.

See Working with the MCR for more information about the MATLAB Compiler Runtime.


on 16 Nov 2012


I have a mex file created from matlab.... i need to use it in c# ... but i couldn't add refrence to my existing c# project as it supports oly .dll and not .mex... is there any other way to add into c#???

Sriram: Please read my answer - I think it applies to your question as well.

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!