[原创]Matlab之GUI生成EXE文件
近期因为项目需要,简化流程,写了一些Matlab程序,并配备上了GUI界面使其简单易用。然后问题来了,可移植性。使用Matlab生成EXE文件(可以封装很多的function),然后在一台安装有Matlab Runtime环境的电脑上运行,是一种不错的选择。
本文主要就我自己在GUI生成EXE文件上遇到的一些问题以及解决办法进行一个说明,希望可以帮助到有同样需求的人。
配置环境
- Windows 10系统
- Matlab 2013a
- Visual Studio 2013
配置方法
打开Matlab,在命令行中输入
|
1
|
mbuild -setup
|
进行编译环境的配置,将会出现如下的界面。
|
1
2
3
4
5
6
7
|
Welcome to mbuild -setup. This utility will help you set up
a default compiler. For a list of supported compilers, see
http://www.mathworks.com/support/compilers/R2013a/win64.html
Please choose your compiler for building shared libraries or COM components:
Would you like mbuild to locate installed compilers [y]/n?
|
输入y确认后观察是否有编译器的存在,我的一开始是没有的,如果你的有matlab自带的lcc,那么幸运的是,你不用麻烦安装别的编译器了,这个已经足够,可以搜索与之相关的文章了;不幸的是后面的可能就不适合你了,因为我最后是使用的VS的编译器环境。
如果你也没有任何的编译器,那么很好,可以接着和我操作了,输入Ctrl+C退出当前命令,然后重新输入mbuild -setup。选择n,可以看到,出现了如下的一些选项。
|
1
2
3
4
5
6
7
|
Select a compiler:
[1] Microsoft Software Development Kit (SDK) 7.1
[2] Microsoft Visual C++ 2008 SP1
[3] Microsoft Visual C++ 2010
[4] Microsoft Visual C++ 2012
[0] None
|
Matlab 2013a中居然没有我安装的VS2013,伤心。不过想来也是,没有是正常的,那么后续怎么办呢,按照其中的安装呗,2008SP1,2010,2012都可以。博主在这里选择了VS2010,同一个电脑是可以安装不同版本的VS哦。
在VS2010完成后,重新启动Matlab,然后再次输入这条指令mbuild -setup,但是这次我们选择y,进入如下的界面,这次就可以看到我们安装的VS2010环境了,Nice!然后一路正常设置就好。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Microsoft Visual C++ 2010 in D:\Program Files (x86)\Microsoft Visual Studio 10.0
[0] None
Compiler: 1
Please verify your choices:
Compiler: Microsoft Visual C++ 2010
Location: D:\Program Files (x86)\Microsoft Visual Studio 10.0
Are these correct [y]/n? y
****************************************************************************
Warning: Applications/components generated using Microsoft Visual C++
2010 require that the Microsoft Visual Studio 2010 run-time
libraries be available on the computer used for deployment.
To redistribute your applications/components, be sure that the
deployment machine has these run-time libraries.
****************************************************************************
Trying to update options file: C:\Users\AirBird\AppData\Roaming\MathWorks\MATLAB\R2013a\compopts.bat
From template: D:\Program Files\MATLAB\R2013a\bin\win64\mbuildopts\msvc100compp.bat
Done . . .
|
至此,Matlab编译器配置完成。
生成EXE文件
在命令行中键入如下命令可以进行EXE文件的生成。
|
1
2
|
mcc -m myfile.m; % 只有.m文件时
mcc -m myfile.fig myfile.m; % .fig文件和.m文件一起时
|
但是,在运行生成的EXE文件时我们会发现有黑框的存在,这个黑框其实是作为控制台的存在,有什么信息可以打印到上面。但是很多时候我们在运行的时候不希望黑框的生成,那么该如何操作呢?这里只需要更改下命令就可以了,如下。
|
1
2
|
mcc -e myfile.m; % 只有.m文件时
mcc -e myfile.fig myfile.m; % .fig文件和.m文件一起时
|
其中-e是生成不带黑框的EXE程序,是不是很神奇。但是这里需要注意的是,-e的用法只适合VS的引擎。有关mcc的用法,可以help mcc或者doc mcc进行查阅。本文摘抄部分信息如下。
|
1
2
3
4
|
e Macro that generates a C Windows application on the Windows platform. On
non-Windows platforms, it is the same as the macro -m. This is
equivalent to the options "-W WinMain -T link:exe", which can be found
in the file <MATLAB>/toolbox/compiler/bundles/macro_option_e.
|

[原创]Matlab之GUI生成EXE文件的更多相关文章
- GUI生成exe文件
gui如何生成exe文件: 已经有gui.m和gui.fig文件 1 安装编译器.已经安装好了vs10的. 2 设置编译器.在matlab命令行输入mex -setup,选择安装的c编译器 3 调用编 ...
- matlab GUI封装exe文件
学习matlab过程中,有时有些程序处理数据时老是看着代码,也会觉得疲倦,那么要试一试matlab的GUI吗?我就是这么使用matlab的GUI制作一个小程序,并且使用matlab封装成了exe文件. ...
- matlab改变GUI和figure左上角图标的方法,并生成exe文件
1. GUI左上角图标的更改,假设GUI的Tag为figure1,在其OpeningFcn里添加h = handles.figure1; %返回其句柄newIcon = javax.swing.Ima ...
- matlab 生成.exe文件 转
本文链接:https://blog.csdn.net/qq_20823641/article/details/51863737 如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程 ...
- c++与matlab联合编程,调用Deploytool 生成exe文件和dll文件(转)
转自:http://www.cnblogs.com/xlw1219/archive/2012/12/25/2832222.html 首先必须知道联合编程需要知道的一些命令解释: mcc 的作用是将 . ...
- 如何解决exe4j生成exe文件后弹出提示信息
使用exe4j生成exe文件时会提示以上一段信息,这个主要是没有注册导致的,在welcome to exe4j的右下角有一个注册信息的地方,去找个注册码,就OK了. 通用注册码:L-g782dn2d- ...
- vs2010如何生成EXE文件如何更改EXE程序图标
vs2010如何生成EXE文件 F5启动调试后,进入下面路径查找: 我的文档\Visual Studio 2010\Projects\项目名称\项目名称\bin\Debug 如何更改EXE程序图标 其 ...
- pyinstaller生成exe文件失败
我的python是3.6,目前pyinstaller并不支持,有网友建议在Github上下载源码,用pyinstaller_develop文件夹替换pyinstaller安装位置下同名文件夹.这样做之 ...
- 如何打包/运行jar包,及生成exe文件
关于如何打包/运行jar包,以及生成exe文件.之前各种查询.博客,终于搞明白究竟是咋回事.记得还做过笔记的.今天要打包生成exe用的时候,居然忘了咋怎来着.去查看之前的笔记,死活没找到(好像被删掉了 ...
随机推荐
- EDIUS设置3D转场的教程
当你们学习完了EDIUS 2D转场自定义后,一定也想了解3D是如何自定义的吧!其实用法都差不多,下面就和小编我一起来学习下EDIUS 3D转场自定义设置吧! 1.首先我们还是做好自定义转场的准备工作. ...
- Windows安装包制作指南——Advanced Installer的使用
1. 前言 最近需要制作windows的安装包,据说Advanced Installer比较强大,遂拿它来制作安装包.在网上少量资料以及官网简约文档中摸索前进,总算是制作出可用的安装包,在此记录,仅供 ...
- html5-websocket初探
HTML5规范在传统的web交互基础上为我们带来了众多的新特性,随着web技术被广泛用于web APP的开发,这些新特性得以推广和使用,而websocket作为一种新的web通信技术具有巨大意义. 什 ...
- yii2 使用composer安装
composer global require "fxp/composer-asset-plugin:~1.0.0" composer create-project --prefe ...
- ios7 indexPathForCell 的坑(真是一个大大的坑)
笔者在编写APP 有一个功能点击cell上一个button,修改cell的在tableview中的位置 在ios8上没有问题. 在ios7上总是崩溃 以下是崩溃后提示: Terminating app ...
- FW开发代码规范---小任性(1)
---恢复内容开始--- 使代码容易理解的方法无非是准确地注释和增强代码一致性. 一个好的准确的注释让代码容易理解是显然的.而代码的一致性,使编程风格统一,容易在内部形成一些共识.习惯用语和模式. 一 ...
- 使用不同用户对Oracle数据库进行异机恢复,失败,错误:Backup file not found in NetBackup catalog
最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户 ...
- 通过SQL语句提取存储过程中的内容
首先,列出服务器上所有数据库. -- 获取数据库列表 SELECT name FROM master.dbo.sysdatabases ORDER BY name 其次,这是一种让所有的用户从数据库中 ...
- poj 3083 Children of the Candy Corn
点击打开链接 Children of the Candy Corn Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8288 ...
- Chapter7: question 49 - 50
49. 把字符串转换为整数 很多细节需要注意.(空格,符号,溢出等) Go: 8. String to Integer (atoi) 50. 树种两个结点的最低公共祖先 A. 若是二叉搜索树,直接与根 ...