gpt4 book ai didi

matlab - 使用另一个文件夹中的目标文件编译MEX文件

转载 作者:行者123 更新时间:2023-12-02 04:00:34 28 4
gpt4 key购买 nike

我正在编写一些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命令上的 -Lfoldermex选项,但这些选项对我没有用。我认为必须有一种简单的方法来完成我想做的事情,但是我只是找不到合适的文档或自己弄清楚。任何帮助,将不胜感激。

最佳答案

[OP的解决方案转换为下面的答案]

在上面给出的设置中,使用以下命令对我来说是理想的:

mex -Icode mexfile.c code/other1.o code/other2.o code/other3.o

在重新生成错误消息时,我偶然发现了该解决方案。

我猜想这只是 -Ipathname命令的 mex选项的适当语法,但是我找不到支持该结论的文档。如果还有其他人可以提供到实际文档的链接,那肯定比刚刚对我有用的潜在解决方案要好。

关于matlab - 使用另一个文件夹中的目标文件编译MEX文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10740526/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com