我使用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
命令的最接近方式是什么?
答案 0 :(得分:-1)
你想要
mex(bv, 'sfun.c');
一般来说,
foo bar baz
被视为与
相同foo('bar', 'baz')
所以你的命令是将文字字符串'bv'传递给mex。