Using mex variable_name; where variable_name contains filename to be compiled

1 回表示 (過去 30 日間)
Rupesh
Rupesh 2013 年 12 月 1 日
回答済み: Titus Edelhofer 2015 年 1 月 21 日
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 Center および File ExchangeWrite 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