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

  • 仅使用mcc而不使用deploytool创建独立的exe。这很好用,但是我可以找到一种创建包含所有内容的最终_pkg.exe的方法。 mcc似乎无法创建此文件,并且似乎没有其他工具可以创建该文件。真的是这样吗?
  • 编辑.prj文件以包括相对路径而不是绝对路径。这仅部分起作用,因为.prj文件包含一个称为MATLABPath的部分,该部分始终被matlab的当前setpath替换。使用此文件的任何人都必须将其 check out ,因为使用时已对其进行了更改。
  • 找到一种生成.prj文件的方法。我的客户中心文档说:Project files created using either mcc or deploytool are eligible to use this option.暗示有一种使用.prj创建mcc文件的方法,但我找不到解决方法。

  • 有这种情况的解决方案吗?

    最佳答案

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

    因此,我们要做的是:

  • 手动编辑prj文件以摆脱绝对路径
  • 将其检入源代码管理并使用mcc
  • 进行构建
  • 永远不要在deploytool触摸过prj文件后检查它(在编辑器中手动进行所有更改)

  • 我们的修订控制使您无需显式 checkout 即可修改文件,因此使用deploytool没问题。但是为什么要呢?

    不知道最终打包程序会做什么,但是如果它只是将MCR与已编译的二进制文件捆绑在一起,我会写一个替换文件。

    10-07 17:16