1

我正在尝试使用 C++ 中的 Matlab 用户定义函数。我使用以下命令创建了库。

mcc -B csharedlib:libMyLib myFunction.m

它不会创建 mclmcr.h 和 libmwmclmcrrt.so。我想知道它是运行时库的一部分吗?

谢谢

4

1 回答 1

0

根据文档

MATLAB Compiler 和相关构建器产品生成的所有应用程序和软件组件只需链接到一个 MathWorks 库 mclmcrrtxx.lib

.lib 和相应的头文件可以在 中找到$matlabroot/extern,而 .dll/.so 共享库可以在$matlabroot/runtime/$arch(或在 MCR 安装中)找到

MATLAB 有一个方便的功能mbuild(您必须使用 设置一次mbuild -setup)。mbuild知道如何使用正确的开关调用 C/C++ 编译器,以便编译器可以找到所需的包含文件和库。您可以使用它mbuild来创建自己的可执行文件并将它们与 MATLAB 编译器生成的共享库链接。

例如,它会在 MATLAB 中被调用为:

>> mbuild testProgram.c -I./distrib -L./distrib -llibMylib

构建一个链接到您使用 MATLAB 编译器生成的 C 共享库的程序,其中distrib目录包含这些生成的文件。

其他一些参考资料:

于 2012-07-20T21:49:35.653 回答