将Matlab程序打包成.exe独立可执行程序

本文介绍了如何在MATLAB中查找并安装runtime插件,通过ApplicationCompiler将MATLAB程序打包成.exe文件。详细步骤包括下载runtime,设置编译器路径,打包过程以及在无MATLAB环境的电脑上运行.exe文件的方法,涉及安装MATLABRuntime和执行打包后的程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 查找并安装runtime

在command窗口直接输入mcrinstaller,如果出现以下内容,则说明没有runtime插件:

输入命令compiler.runtime.download,等待片刻即可下载:

可能因为网络原因下载失败可以直接根据提示给出的网址下载zip文件。下载完成后,在matlab中设置MATLAB complier编译器的路径:

再次输入mcrinstaller,若出现以下内容则说明Matlab中已有runtime插件:

2. 打包Matlab程序为.exe文件

下面以这个简单的程序为例,演示如何将Matlab程序打包为.exe文件:

% close all
read = xlsread('1.xlsx');
xlswrite('2.xlsx',read+1);

这个程序读入1.xlsx文件,将里面的数据+1后保存为2.xlsx文件。

在APP中找到Application Compiler:

配置以下内容:

点击Package开始打包:

打包完成后会出现一个文件夹和一个.prj文件,打开文件夹:

for_redistribution: 用于安装应用程序和MATLAB Runtime的文件,运行打包的可执行文件前,先安装该文件夹下的运行环境;
for_redistribution_files_only: 打包好的独立可执行文件;
for_testing: 由MCC创建的文件,像二进制文件和jar,头和源文件,使用这些文件来测试打包效果;
PackagingLog.html: 编译器生成的日志文件。

3. 在没有安装Matlab的电脑上运行.exe文件

将文件夹放到未安装Matlab的电脑上。

  • 运行for_redistribution中的MyAppInstaller_mcr.exe文件,安装Matlab Runtime;

  • 运行for_redistribution_files_only中的.exe文件,可以发现程序运行成功后生成了2.xlsx

### 使用 MATLAB Compiler 将 MATLAB 代码编译为独立.exe 文件 为了将 MATLAB 代码打包独立的 `.exe` 文件,可以按照以下方法操作: #### 环境准备 确保已安装以下软件和工具: 1. **MATLAB** 版本需支持 `MATLAB Compiler` 功能。例如,引用中提到的 MATLAB R2017a 或更高版本[^1]。 2. **MATLAB Compiler** 插件需要正确安装并配置好对应的 C/C++ 编译器。 对于不同版本的 MATLAB,C/C++ 编译器的选择有所不同: - 如果使用的是 MATLAB R2017b 及以上版本,可以从 MathWorks 提供的官方链接下载适用于 MinGW-w64 的 C/C++ 编译器。 - 对于较早版本(如 R2015b 至 R2017a),建议使用 TDM-GCC 提供的 MinGW GCC 4.9.2 版本,并将其安装到不包含空格的路径下,例如 `C:\mingw-64`[^1]。 #### 配置编译器 完成编译器安装后,需要在 MATLAB 中设置编译器环境变量: 1. 打开 MATLAB 命令窗口,输入以下命令以检测当前可用的编译器: ```matlab mex -setup ``` 若未自动识别编译器,则需要手动指定其位置。假设 MinGW 已安装至 `C:\TDM-GCC-64`,则可以通过以下命令添加环境变量: ```matlab setenv('MW_MINGW64_LOC','C:\TDM-GCC-64'); ``` 2. 再次运行 `mex -setup` 命令确认编译器成功加载[^1]。 #### 转换 MATLAB 代码为 EXE 文件 通过 `mcc` 命令实现 MATLAB 代码向独立可执行文件的转换。以下是具体步骤: 1.MATLAB 命令窗口中输入以下指令来生成目标 `.exe` 文件: ```matlab mcc -m your_function_name.m ``` 这里的 `-m` 参数表示创建单机版的应用程序;`your_function_name.m` 是待转换的目标脚本或函数文件名[^1]。 2. 成功编译后,会在默认目录下的子文件夹 `\for_redistribution_files_only` 和 `\for_testing_your_program_only` 中分别生成最终发布的 `.exe` 文件以及调试所需的辅助材料[^2]。 #### 注意事项 - 输入给定的 MATLAB 函数应具备完整的功能逻辑,即能够脱离其他外部依赖而正常运行。 - 用户端计算机无需安装 MATLAB,但可能需要部署 MATLAB Runtime (MCR),这取决于所使用的 MATLAB 版本及其组件需求[^2]。 ```python # 示例 Python 伪代码展示 MCC 流程模拟 def compile_mat_to_exe(mat_file_path, output_dir): import subprocess command = f"mcc -m {mat_file_path} -d {output_dir}" result = subprocess.run(command.split(), capture_output=True) if result.returncode != 0: raise Exception(f"Compilation failed with error: {result.stderr.decode()}") compile_mat_to_exe("test.m", "./compiled_output") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cretheego

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值