【问题标题】:File tree structure for Matlab Runtime(s)?Matlab 运行时的文件树结构?
【发布时间】:2020-04-08 20:24:30
【问题描述】:

我正在关注installing the Matlab Runtime 的信息页面。有 3 种可能的平台:Windows、Linux 和 macOS。

还有许多可能安装运行时的情况。

  1. 通用安装

  2. 没有管理员权限的安装

  3. 一台机器上有多个运行时版本

  4. 在已经有 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 编译器创建可执行文件(或库或其他任何内容)并将其分发到另一台机器时,并且在该机器上安装了适当的运行时,那么您的可执行文件将运行。您不需要知道运行时安装中的路径是什么。
  • 还请注意,您的可执行文件(或库或其他)只能在一个特定平台上运行。如果要为所有三个平台分发它,则需要构建它三次。 (或者至少这是我使用编译器时的工作方式,同时它可能已经改变了。)

标签: matlab path runtime


【解决方案1】:

这是我对 Cris 提供的信息的综合(请随时澄清/更正)。

如果运行时没有与编译的代码打包在一起(可能的情况,考虑到运行时的大小),那么它必须独立安装在目标机器上。在此过程中,用户选择 Runtime 安装的根文件夹,即mcr_root。其中的树形结构由 TMW 决定,取决于平台和版本。这不是需要由进行编译的人或编译的用户来确定的。当可执行文件运行时,它会知道 Runtime 在哪里,因为 Runtime 安装过程会导致该位置被编码在 Windows 注册表或 *nix 环境变量中。

您可能仍需要识别组织架构。如问题中引用的网页所示,在某些情况下,您可能必须确保系统路径中相关目录的正确顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2012-07-15
    相关资源
    最近更新 更多