首先在网上看了一番后,主要有两种方法,本人由于gui主函数中运行了python文件,采用的方法一,mbuild和mex配置采用的C++。
直接在matlab工作空间命令行使用自带的命令mcc
用法:详细可参考官网https://www.mathworks.com/,在此简述mcc -m ***.m -a 指定路径
其中 -m:表示创建一个独立的应用程序;***.m:代表你所要打包的主程序
-a:表示添加路径(主程序所依赖的.m子文件); 指定路径:即主程序依赖的子.m文件所在位置
1、主程序中若存在addpath函数,在编译环境下会报错。处理方式如下:
将主程序addpath代码处,采用isdeployed命令:
if ~isdeployed
addpath("")
end
这里表示判断是否为编译环境(你打包后的环境),若是则不运行addpath,不是编译环境,那么就是matlab环境,则运行。
2、-a 添加的路径最好不要包含子文件夹
本人需要添加file目录下的.m文件,同时包含子文件夹file1下的.m文件,采用命令
-a ./file/*
官网解释是会全部添加,包括子文件,但运行报错,无法找到子文件夹file1中的.m函数
解决方案:将.m函数全部放入file文件夹采用命令
-a ./file/*.m