我正在编写一些 MATLAB 代码,并且我想使用一些优化的 C 例程。我有 C 源代码,它工作得很好。我创建了一个 MEX 文件并且能够编译它,前提是它与优化的 C 例程位于同一文件夹中。但是,我希望能够将此代码分发给各种平台上的其他人。由于 MEX 文件是二进制文件,因此每个人都必须(可能)在自己的机器上重新编译。这很好,但我想让这个过程尽可能轻松。
目前,如果所有文件都在同一个目录中,那么调用类似
mex mexfile.c other1.o other2.o other3.o
从该目录中可以正常工作,就像您期望的那样。但是,出于组织目的,我希望 C 代码位于其自己的(子)目录中,例如code
. 不幸的是,如果我构造这样的东西,mex
命令就会出错(错误因我尝试过的不同事情而异)。我试过像
mex mexfile.c code/other1.o code/other2.o code/other3.o
以及命令上的-Ipathname
and-Lfolder
选项mex
,但这些对我不起作用。我认为必须有一种简单的方法来做我想做的事情,但我就是找不到合适的文档或自己弄清楚。任何帮助,将不胜感激。