Matlab 编译器运行时足以编译 mex 文件吗?

问题描述 投票:0回答:1

对于 Matlab,我创建了一个 MEX 文件包装器。编译一切正常,我使用 MSVC 或 MinGW 作为编译器,并使用 CMake 来查找 Matlab 安装并生成构建文件。

在我的本地机器上,这就像一个魅力。我现在希望能够在我的 CI 节点上编译 MEX 文件包装器。最好,我有一个免费版本和相当精简的 Matlab 版本来编译 MEX 文件包装器。理想情况下,在 Windows Docker 容器中。

Matlab 编译器运行时 (MCR) 是否足以编译 MEX 文件包装器?或者有没有另一种方法可以在不使用非免费Matlab软件的情况下编译mex文件(免费是指免费,而不是言论自由)?

c matlab mex
1个回答
2
投票

Matlab 编译器不编译 mex 文件。

mex
可以做到这一点(https://au.mathworks.com/help/matlab/ref/mex.html)并且它依赖于 C 编译器来做到这一点。

据我所知,没有“Matlab 运行时编译器”。 Matlab Runtime(就像酒吧里的杯垫一样免费:https://au.mathworks.com/help/compiler/matlab-runtime.html)将运行由 Matlab Compiler 编译的软件(在任何意义上都不是免费的)这个词):https://au.mathworks.com/products/compiler.html。这样做的目的是使用 Matlab 编程语言部署一个应用程序,用户无需拥有完整的 Matlab 即可运行该应用程序。它有点像 LabView 和 MaxMSP,它们具有相似的功能。

如果您希望使用运行 .mex 文件的 Matlab 代码设置 CI/CD,您可以尝试 github actions(也像酒吧里的杯垫一样免费):https://github.com/matlab-actions。这是 Mathworks 为此目的维护和支持的跑步者集合。在我看来,这实际上比使用 Docker 更容易处理。

© www.soinside.com 2019 - 2024. All rights reserved.