【发布时间】:2020-04-08 20:24:30
【问题描述】:
我正在关注installing the Matlab Runtime 的信息页面。有 3 种可能的平台:Windows、Linux 和 macOS。
还有许多可能安装运行时的情况。
通用安装
没有管理员权限的安装
一台机器上有多个运行时版本
在已经有 Matlab 的机器上安装
对于#1,用户选择了一条路径,但没有给出合理的示例。
对于#2,路径是:mcr_root\runtime\arch。我的 arch 是 Win64。
对于#3,路径没有描述。
对于#4,路径是:
- Windows:mcr_root\ver\runtime\win64
- Linux:mcr_root/运行时/arch
- macOS:mcr_root / 运行时
在我看来,路径约定有很多不一致之处。正确的操作是否取决于遵守严格的约定(必须从上述信息中推测出),还是任意的?
【问题讨论】:
-
对于已经有 MATLAB 的机器,根本不需要安装运行时。运行时适用于没有 MATLAB 许可证的人。除此之外,您根本不需要知道路径。用户只是运行您的可执行文件,运行时将被它找到并使用,而您不知道它的安装位置。
-
顺便说一句,用户在安装时选择
mcr_root,其余由安装程序决定。每个平台都不同,因为每个平台都有不同的约定。用户可以为mcr_root选择任何方便他们的目录,它在哪里无关紧要。 -
谢谢,克里斯。我不是安装运行时来为自己启用解决方案的执行,而是确保将 Matlab 函数包装为 Java 包的整个过程(例如)在它被运送到其他地方后能够正常工作。我还没有到达那里,但这是最终目标。您的 cmets 向我表明,由于
mcr_root之后的路径组件是任意的,因此在执行解决方案时需要提供实际路径。你能发布一个答案吗?谢谢。 -
不,路径不是任意的,它们是平台相关的。我还说你不需要担心这些路径。当您使用 MATLAB 编译器创建可执行文件(或库或其他任何内容)并将其分发到另一台机器时,并且在该机器上安装了适当的运行时,那么您的可执行文件将运行。您不需要知道运行时安装中的路径是什么。
-
还请注意,您的可执行文件(或库或其他)只能在一个特定平台上运行。如果要为所有三个平台分发它,则需要构建它三次。 (或者至少这是我使用编译器时的工作方式,同时它可能已经改变了。)