matlab 在Octave中,如何从多个C/C++源文件编译一个mex文件?

mlmc2os5  于 2023-10-23  发布在  Matlab
关注(0)|答案(1)|浏览(190)

在Matlab中,我们可以使用mex从多个文件(例如,100多个.c文件)编译一个库,

mex *.c -o mylib.mex

但在Octave中,似乎只接受一个输入源文件,它总是给出错误

cc1.exe: fatal error: *.c: Invalid argument

我试了很多次google,但没有找到解决方案。任何能解决这个问题的指针都将受到赞赏。

a11xaf1n

a11xaf1n1#

我假设Octave没有扩展文件名,所以它不能将*.c识别为有效的文件名。
你可以像这样显式地列出所有的源文件:

files = dir('*.c');
files = {files.name};
mex(files{:}, '-o', 'mylib.mex')

相关问题