文档章节

matlab 生成.exe文件 转

o
 osc_g8254g7s
发布于 2019/08/19 17:14
字数 671
阅读 50
收藏 0

精选30+云产品,助力企业轻松上云!>>>

本文链接:https://blog.csdn.net/qq_20823641/article/details/51863737
      

如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现:

 

一、生成独立可执行的程序(exe文件)步骤

 

1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS2010实现。

2、设置编译器。

在matlab命令行输入mbuild  –setup以及mex –setup,选择安装的c编译器(可能会选1也可能选0,这个要看你显示的是什么)。选择y  一直到done

3、调用编译器。

当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件,例如你的名字是im.m文件,那么fileaname就用im替换

 

二、脱离matlab运行可执行程序(换一个电脑运行exe)

 

     MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:

<matlab path>\toolbox\compiler\deploy\win64

文件名为MCRInstaller.exe。

步骤:

(一)先把这个安装在新电脑上

(二)然后配置环境

右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将路径C:\Program Files\MATLAB\MATLAB Compiler Runtime\v80\runtime\win64复制到里面就可以了。

 

三、运行exe,黑屏一闪

 

     美中不足就是,运行的时候dos的那个黑色地窗口一直存在。下面将实现去除黑屏的办法:

消除运行MATLAB生成的exe程序的dos黑屏的办法

基于MATLAB生成exe文件后,每次运行都存在dos黑屏的问题,现在可以通过以下方法解决:

方法: 在命令窗口输入:

cd(prefdir)

edit compopts.bat

在打开的文件最后添加以下语句(添加哪个要看你的电脑):

A.VC环境下(我的是添加这个因为是vs2010):

set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS/ENTRY:mainCRTStartup

B.LCC环境下:

set LINKFLAGS=%LINKFLAGS% -subsystemwindows

C. Borland:

set LINKFLAGS=%LINKFLAGS% -aa

保存以后,再重新编译m文件,生成的exe文件运行起来就没有dos窗口了

这个方法在使用后生成的exe再到没有任何安装MATLAB的机子上运行也不会有黑屏了。
————————————————
版权声明:本文为CSDN博主「小木匠_」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_20823641/article/details/51863737

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
matlab混合编程向导(vc,vb,.net...)

一.matlab与vc混编 1.通过mcc将matlab的m文件转化为cpp,c文件或dll供vc调用: 这方面的实现推荐精华区Zosco和ljw总结的方法(x-6-1-4-3-1和2) vc的设置请参看精华区x-6-1-4-3-5,通过这种设置...

云栖希望。
2017/12/04
0
0
[原创]Matlab 之 GUI 生成 EXE 文件

近期因为项目需要,简化流程,写了一些 Matlab 程序,并配备上了 GUI 界面使其简单易用。然后问题来了,可移植性。使用 Matlab 生成 EXE 文件(可以封装很多的 function),然后在一台安装有...

osc_4sz8daoz
2019/09/03
8
0
matlab编译exe问题具体解决办法

matlab编译exe问题解决办法 使用MATLAB Compiler编译exe,主要分为3个步骤: ① 安装编译器; ② 编译exe; ③ 为其他没有安装matlab的电脑,配置exe运行环境。 一、安装编译器 1、 你需要现...

osc_mf6gua6n
2018/03/09
6
0
matlab中 mcc、mbuild和mex命令详解

先简单的说说mcc、mbuild和mex到底怎么回事: mcc将M文件转换成C/C++文件和相应的MEX包裹文件(需要Matlab编辑器),但在特定条件下可以自动调用mbuild或者mex mex将C/C++文件(入口函数为mexfu...

雷霄骅
2014/08/16
51
0
matlab将M文件直接编译为可独立使用的EXE可执行文件

matlab编译器可将M文件直接编译为可独立使用的EXE可执行文件,程序可脱离matlab直接运行,且程序完成了编译工作,执行速度优于原M文件。 首先要启动编译器的配置工作。 mex -setup 根据提示选...

卓尔
2014/06/13
125
0

没有更多内容

加载失败,请刷新页面

加载更多

dict.items()和dict.iteritems()有什么区别?

问题: Are there any applicable differences between dict.items() and dict.iteritems() ? dict.items()和dict.iteritems()之间是否有适用的区别? From the Python docs: 从Python文档中......

法国红酒甜
18分钟前
8
0
R中“ =”和“ <-”赋值运算符有什么区别?

问题: What are the differences between the assignment operators = and <- in R? R中赋值运算符=和<-之间有什么区别? I know that operators are slightly different, as this example ......

fyin1314
48分钟前
14
0
之间的区别 和

问题: I'm learning Spring 3 and I don't seem to grasp the functionality behind <context:annotation-config> and <context:component-scan> . 我正在学习Spring 3,并且似乎不太了解<......

javail
今天
15
0
业内首款,百度工业视觉智能平台全新亮相

本文作者:y****n 业内首款全国产化工业视觉智能平台——百度工业视觉智能平台亮相中国机器视觉展(Vision China),该平台所具有的核心AI能力完全自主可控,在质检、巡检等场景中具有高效、...

百度开发者中心
昨天
7
0
我们如何制作xkcd样式图? - How can we make xkcd style graphs?

问题: Apparently, folk have figured out how to make xkcd style graphs in Mathematica and in LaTeX . 显然,民间已经想出了如何在Mathematica和LaTeX中制作xkcd风格的图形。 Can we d......

富含淀粉
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部