【发布时间】:2011-12-05 14:38:50
【问题描述】:
我需要将一些 MATLAB 代码转换为 C++。我正在使用 Visual Studio 2010 并安装了 MATLAB 编译器。我想知道我该怎么做。
另外,当我发布我的项目时,最终用户是否必须通过 MATLAB 安装任何东西? (这不可能)
【问题讨论】:
标签: c++ visual-studio matlab matlab-deployment matlab-compiler
我需要将一些 MATLAB 代码转换为 C++。我正在使用 Visual Studio 2010 并安装了 MATLAB 编译器。我想知道我该怎么做。
另外,当我发布我的项目时,最终用户是否必须通过 MATLAB 安装任何东西? (这不可能)
【问题讨论】:
标签: c++ visual-studio matlab matlab-deployment matlab-compiler
您不会摆脱 Matlab 运行时。我在使用 Matlab 编译器时经常遇到问题。它基本上就像 Matlab 运行时的包装器,生成笨拙的代码并确实引入了许多部署问题。 C替代品...?我找不到任何东西。所以我最近切换到ilnumerics,它就像 C# 中的 Matlab - 只是更快而且不需要翻译。到目前为止效果很好,因为我们无论如何都使用 ASP.NET,因此可以节省语言之间的跳转,并且可以直接使用 3d 非数字图。
【讨论】:
您可以将compile Matlab scripts 转换为独立的可执行文件,但我不熟悉将 Matlab 代码转换为 Visual C++ 代码的 Matlab 工具。您可以使用 Simulink Coder(以前称为 Real-Time Workshop)将 Matlab 代码转换为 C 或 C++,它是 Mathworks 的一个单独产品。
要运行独立的可执行文件,用户必须安装 Matlab Compiler Runtime。来自Matlab Compiler web page:
使用 MATLAB Compiler 产品创建的可执行文件和库使用称为 MATLAB Compiler Runtime (MCR) 的运行时引擎。 MCR 与 MATLAB Compiler 一起提供,用于随您的应用程序一起分发,并且可以免版税部署。
【讨论】:
您的另一个选择是使用MATLAB Engine。它可能不是实时应用程序的选择,但除此之外它真的很好。您基本上可以直接从 C++ 调用 MATLAB 函数。图形(绘图)将像运行本地 MATLAB 一样显示。程序启动时,会创建一个 MATLAB 控制台。
【讨论】: