Using mex variable_name; where variable_name contains filename to be compiled

1 次查看(过去 30 天)
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...

回答(2 个)

Martin
Martin 2015-1-21
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 2015-1-21
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

类别

Help CenterFile Exchange 中查找有关 Write C Functions Callable from MATLAB (MEX Files) 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by