我正在编写一些MATLAB代码,并且我想使用一些优化的C例程。我有C源代码,它工作得很好。我创建了一个MEX文件,并且能够编译它,只要它与优化的C例程位于同一个文件夹中即可。但是,我希望能够将这些代码分发给各种平台上的其他人。由于MEX文件是二进制文件,每个人都必须(可能)在自己的机器上重新编译。这很好,但我想尽可能地让这个过程变得无痛苦。使用另一个文件夹中的目标文件编译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
并在mex
命令-Lfolder
选项,但是这些都没有为我工作。我认为必须有一种简单的方法来做我想做的事情,但我无法找到适当的文档或自己弄清楚。任何帮助,将不胜感激。
请写出mex命令的错误信息。 – Oli
我正在根据请求重新生成错误;我偶然发现了这个解决方案。这是我的第一篇文章Stack Overflow,我不确定我应该如何为自己的问题提供解决方案。 – zroth
将其作为答案发布在下面。 –