Matlab部署:将文件添加到源代码控制?

sho*_*osh 10 matlab mcc matlab-deployment matlab-compiler

我已经创建了一个相当好的部署项目,现在我想将它添加到源控制存储库以供其他人使用.
我面临的主要问题是创建的.prj文件deploytool包含绝对路径,这些路径在其他计算机上不起作用.到目前为止,我已经尝试了以下内容:

  • 使用just mccwithout 创建独立的exe deploytool.这很好但我可以找到一种方法来创建_pkg.exe包含所有内容的final .mcc似乎无法创建此文件,似乎没有任何其他工具.这是真的吗?
  • 编辑.prj文件以包含相对路径而不是绝对路径.这只能部分起作用,因为该.prj文件包含一个名为的部分,该部分MATLABPath总是被当前setpath的matlab 替换.任何使用此文件的人都必须检查它,因为它在使用时会被更改.
  • 找到一种生成.prj文件的方法.mcc文档说:Project files created using either mcc or deploytool are eligible to use this option.建议有一种方法来创建一个.prj文件,mcc但我无法找到如何做到这一点.

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

mtr*_*trw -2

这是mcc 选项文档

我发现最有用的是使用 mcc 创建一个独立的 exe:

  mcc -C -m <function.m> -a <fig> -a <dll> -a <etc> -d <outputPath>
Run Code Online (Sandbox Code Playgroud)

-C 选项指示mcc将 ctf 文件(这是所有已编译的 MATLAB 内容的存档)生成为单独的文件。我在某些目标计算机上使用单个 exe 并编译了所有内容时遇到了麻烦。

-m 选项指示mcc创建一个 exe。

-a 选项告诉您mcc将指定的文件包含在包中。例如,如果您的脚本使用两个 Fig 文件和一个数据文件,则每个文件都需要一个 -a 以确保它们放入输出包中。


告诉 mcc 使用项目文件(我自己从未这样做过):

 mcc -F <projectfile>
Run Code Online (Sandbox Code Playgroud)

另外,如果您在 Windows 上使用 R2009a,则存在一个已知错误,需要进行一些清单操作