Matlab 部署 : add files to source control?

标签 matlab matlab-deployment mcc matlab-compiler

我创建了一个运行良好的部署项目,现在我想将它添加到源代码控制存储库以供其他人使用。
我面临的主要问题是 deploytool 创建的 .prj 文件包含不能在其他计算机上运行的绝对路径。到目前为止,我已经尝试了以下方法:

  • 仅使用 mcc 而不使用 deploytool 创建独立的 exe。这很好用,但我可以找到一种方法来创建包含所有内容的最终 _pkg.exe。 mcc 似乎无法创建此文件,而且似乎没有任何其他工具可以创建此文件。真的是这样吗?
  • 编辑.prj 文件以包含相对路径而不是绝对路径。这仅部分起作用,因为 .prj 文件包含一个名为 MATLABPath 的部分,该部分始终被 matlab 的当前 setpath 替换。任何使用此文件的人都必须检查它,因为它在使用时会被更改。
  • 找到生成.prj 文件的方法。 mcc 文档说:使用 mcc 或 deploytool 创建的项目文件有资格使用此选项。 建议有一种方法可以使用 mcc 创建 .prj 文件 但我找不到如何做到这一点。

这种情况有解决办法吗?

最佳答案

我们在使用 Matlab Builder JA 时遇到了同样的问题。不仅路径是绝对路径,Matlab 还会添加它在路径上找到的其他工具箱,这很烦人,因为构建机器没有很多工具箱的许可证。

所以我们要做的是:

  • 手动编辑 prj 文件以去除绝对路径
  • 将其 checkin 源代码管理并使用 mcc 构建
  • 永远不要在部署工具触及 prj 文件后 checkin 它(在编辑器中手动进行所有更改)

我们的版本控制允许您修改文件而无需显式 checkout ,因此使用 deploytool 不是问题。但是你为什么要这么做?

不确定最终的打包器做了什么,但如果它只是将 MCR 与编译后的二进制文件捆绑在一起,我会写一个替换。

关于Matlab 部署 : add files to source control?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1790417/

相关文章:

c++ - Matlab 无法正确初始化 C++ 共享库

linux-kernel - 这个内核函数可以更具可读性吗? (学术研究需要的想法!)

android - 如何在 Android 模拟器中更改移动国家代码 (MCC)?

matlab - 在 MATLAB 中具有灵活的有序/无序和标记/未标记输入列表的函数

matlab - 来自 Matlab 的 Weka : Attribute Selection

matlab - Matlab/Octave 函数体中是否有分号?

windows - 尝试运行 Matlab-Compiler-Runtime 应用程序时,Windows 7 中出现 SxS 错误

c# - 开发一个使用 mat lab 的人脸识别网络服务是否简单?

c - 为什么有些函数特别长? (学术研究所需的想法!)

matlab - 抑制错误消息回溯