Using mex variable_name; where variable_name contains filename to be compiled

1 view (last 30 days)
I want to compile a .c file using mex command. It works fine for below format: mex filename.c;
But i have to use mex command runtime and my filename is stored in a variable(Eg. variable_a='filename.c').
When I use mex variable_a; I get an error as variable_a file not found.
How to compile a .c file whose name is stored in a variable using mex command.
Pls help...

Answers (2)

Martin
Martin on 21 Jan 2015
Although the question is old, Google still finds it, and it took me a while until I found a solution. So someone might find it useful. The trick is to wrap the whole command in an eval:
filename = 'foo.c';
eval(['mex ', filename]);

Titus Edelhofer
Titus Edelhofer on 21 Jan 2015
Another way of doing this is similar to other functions, that are often used this way as save, load, etc. Use the functional form of calling mex:
filename = 'foo.c';
mex(filename);
Titu

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!