将字符串参数传递给Matlab mex命令

时间:2015-10-26 17:49:25

标签: matlab mex

我使用mex命令构建sfun.c中包含的C代码:

mex CFLAGS="\$CFLAGS -std=gnu99" sfun.c;

这可以按预期工作。但是,我想以编程方式更改CFLAGS="\$CFLAGS -std=gnu99"部分。我尝试将此部分分配给变量并将其传递给mex命令,如下所示,但它失败了:

bv = 'CFLAGS="\$CFLAGS -std=gnu99"'
mex bv sfun.c

Matlab返回此错误:

gcc: error: bv: No such file or directory

mex: compile of ' "sfun.c"' failed.

以编程方式生成bv并将该值传递给mex命令的最接近方式是什么?

1 个答案:

答案 0 :(得分:-1)

你想要

mex(bv, 'sfun.c');

一般来说,

foo bar baz

被视为与

相同
foo('bar', 'baz')

所以你的命令是将文字字符串'bv'传递给mex。