Matlab部署:将文件添加到源代码管理?
我已经创建了一个运行良好的部署项目,现在我想将其添加到源代码管理存储库中供其他人使用。Matlab部署:将文件添加到源代码管理?,matlab,matlab-deployment,mcc,matlab-compiler,Matlab,Matlab Deployment,Mcc,Matlab Compiler,我已经创建了一个运行良好的部署项目,现在我想将其添加到源代码管理存储库中供其他人使用。 我面临的主要问题是,deploytool创建的.prj文件包含在其他计算机上无法工作的绝对路径。到目前为止,我已经尝试了以下方法: 仅使用mcc创建独立的exe,而不使用deploytool。这非常有效,但我可以找到一种方法来创建包含所有内容的最终\u pkg.exe。mcc似乎无法创建此文件,而且似乎没有任何其他工具能够创建此文件。真的是这样吗 编辑.prj文件以包括相对路径而不是绝对路径。这只能部分起作
我面临的主要问题是,
deploytool
创建的.prj
文件包含在其他计算机上无法工作的绝对路径。到目前为止,我已经尝试了以下方法:
- 仅使用
创建独立的exe,而不使用mcc
。这非常有效,但我可以找到一种方法来创建包含所有内容的最终deploytool
。mcc似乎无法创建此文件,而且似乎没有任何其他工具能够创建此文件。真的是这样吗\u pkg.exe
- 编辑
文件以包括相对路径而不是绝对路径。这只能部分起作用,因为.prj
文件包含一个名为.prj
的部分,该部分始终替换为matlab的当前MATLABPath
。任何使用此文件的人都必须将其签出,因为在使用时它正在被更改setpath
- 找到生成
文件的方法。mcc文档说:.prj
建议有一种方法可以使用使用mcc或deploytool创建的项目文件有资格使用此选项。
创建mcc
文件,但我无法找到如何做到这一点.prj
mcc -C -m <function.m> -a <fig> -a <dll> -a <etc> -d <outputPath>
另外,如果您在Windows上使用R2009a,则有一个问题。我们在MatlabBuilder JA中遇到了同样的问题。不仅路径是绝对的,Matlab还添加了它在路径上找到的其他工具箱,这很令人恼火,因为构建机器没有很多这些工具箱的许可证 因此,我们要做的是:
- 手动编辑prj文件以去除绝对路径
- 将其检查到源代码控制中,并与mcc一起构建
- 永远不要在使用deploytool触摸prj文件后签入该文件(在编辑器中手动执行所有更改)
不确定最终的打包程序会做什么,但如果它只是将MCR与编译的二进制文件捆绑在一起,我只会编写一个替换文件。我个人使用Visual Studio 2005 project来维护我的部署项目,然后使用build命令步骤动态地将VCPROJ转换为PRJ
哇,也许下次你可以费心实际阅读问题本身,而不仅仅是标签。@shoosh-你说得对,我略读了问题,回答了我希望看到的内容,而不是你问的内容。很抱歉。实际上,我从未像您那样使用过
deploytool
,所以我根本不明白您所说的_pkg.exe是什么意思。在给出答案之前,我应该先读一读。你应该向MathWorks提出增强请求。如果知道.prjXML文件格式是否有XSD方案,我也会很高兴。
mcc -F <projectfile>