1. 上边栏选择APP,点击Application Compiler
2. Add main file
3. 加入所有自定义的函数
这里只加入*.m 或者*.mexw64文件。
其他的类似于dos调用的外部exe或者txt等等,需要在打包完成后,复制到和for_testing文件夹,和打包完成后的exe文档同一目录下(具体路径根据你的m代码来)。不需要放在这里
4. 加入MATLAB的自带函数
exe文件就在for_testing文件夹;
生成exe之后在cmd运行一下,提示少哪个函数就搜索一下把源文件加入。
然后点击右上角绿色剪头即可。
5. 部署在没有安装MATLAB的设备中:
如果打开exe,提示:找不到runtime错误,就需要执行以下步骤。
选择runtime included in package模式打包;
在得到的打包好的文件夹里,首先执行for_redistribution/Myapp…install.exe,按指引安装即可,路径可以自定义;
安装成功后,再打开exe就好啦。
6. 关于引用外部库
我曾经想调用Java的数据结构:linklist之类的。虽然直接编译没问题,但是打包为exe就提示:找不到java.xxxx,所以我用matlab的map自己写了。没有调用。
注意事项
问题一:
我一开始新建了一个文件夹,将所有自己写的函数都copy到那里,然后在第3&4步的时候直接从新建文件夹里添加。
这个做法导致了打包时出错。
错误日志显示:
Compiler version: 6.3 (R2016b)
Dependency analysis by REQUIREMENTS.
Unexpected error while determining required deployable files. Compilation terminated.
mcc 失败。
同时,控制台报错:
未定义与 ‘cell’ 类型的输入参数相对应的函数 ‘strescape’。
后来我将函数(.m文件)直接从工作目录添加到步骤3里,解决了这个问题。
问题二:
添加进步骤4的函数,要从matlab原始路径中添加,否则在执行打包后的exe文件可能会有找不到xxx函数的问题。
我遇到的问题是这样的: 首先,我只在步骤3提到的地方,加入了我自定义的函数,然后打包成功了。
但是在我运行exe文件的时候,提示我“未定义xxx函数”。这些函数包括hilbert、graythresh等,都是MATLAB自带的函数。(以下用hilbert举例)
由于我在MATLAB中运行的时候镇乎并并没有出现找不到hilbert函数的情况,顷和因此我认为是打包过程中,可能没把hilbert.m打包进去。 因此,我找到hilbert.m在MATLAB安装文件中的路径,然后把hilbert.m复制到了我的prj的工作目录下,然后重新打包为exe。
但,因为系统会优先搜索你工作目录下的函数,就比如说hilbert.m现在在系统内置目录里有一个,在工作目录下也有,它在运行的时候,就会优先选择工作目录下的hilbert.m,所以目录就被更改了!但是因为hilbert本身也调用了一些其他的自带函数,所以我遇到的问题是:我在打开exe的时候,他找到hilbert了,但它又找不到一些别的函数了。。。
所以我在问题二想表达的意思是:你在添加步骤4的函数的时候,一定要从安装路径那里添加。因为虽然你复制的文件内容一样,但是路径不同,可能会有影响。
打开CSDN APP,看更多技术内容
PyInstaller打包matlab报错误ImportError: No module named ‘mlarray...
解决的方法就是重新在本地安装matlab模块。 安装方法是在matlab安装目录Polyspace/R2020b/extern/engines/python中, 执行python setup.py install 就可以安装matlab的模块到python了。 再重新打包就正常了。
继续访问
matlab安装后jar出错,2020-03-19 MATLAB ——在将函数转换为jar包时...
设置环境变量下的系统变量 Path 新增路径 3.4判断 javac是否配置成功 运行cmd,输入javac出现如下结果则配置成功 avac配置成功 4 配御迹置完成后,重启电脑 5 ,matlab重新转译需要的程序
继续访问
MATLAB中用Application Complier生成可执行文件的步骤及相关注意事项
生成可独立执行的软件,可以分成以下5个主要的步骤;1.打开Application Complier2.添加主程序文件3.可执行文件设置4.选择打包方式5.相关文件解释大体步骤多类似,里面有些容易出错的小细节,相关设置需要注意的有:1.runtime下载问题3.软件图标问题4.页面设置5.打开软件时,居中显示的相关代码
继续访问
MATLAB程序封装成EXE文件
matlab程序封装成EXE 教程十分详细 本人按照本教程,成功实现matlab打包成exe
给MATLAB安装runtime插件,将MATLAB程序打包成exe文件方法(亲测有效)
写在前面:本方法是本人通过整合网上方法试出来的,所以和别的很多方法有一样的地方。我只是整合了一下,没有啥技术原创性。 1.查看已安装的MATLAB是否有runtime插件。 *** 作:在command窗口直接输入mcrinstaller。 如果如图上所示,那就是没有。(2019版本以后包括2019一般均没有) 2.下载MATLAB对应子版本的runtime。(很多方法是官网下载,但在官网下载还是会版本不对应,所以直接在你所用的MATLAB里搜索安装链接最靠谱)(!!!这一步记得连网,不连网不行) *** 作:.
继续访问
04-0007 MATLAB GUI 打包 EXE
Warning: Excluded"C:/ProgramFiles/MATLAB/R2017a/toolbox/fixedpoint/fixedpoint/+embedded/+ntxui/@NTX/NTX.m",reason: The file or function has been excluded from packaging for the "MCR"target environment...
继续访问
matlab mwregsvr,Matlab生成exe文件时出错
选择其他编译器时exe文件无法生成>>mbuild -setupPlease choose your compiler for building standalone MATLAB applications:Would you like mbuild to locate installed compilers [y]/n? mbuild -setupSelect a compiler...
继续访问
热门推荐 【MATLAB-app】matlab文件打包为独立可执行程序exe (Matlab R2019a以及2020版本均适用)(亲测有效,附:快速下载MCR技巧)
matlab文件打包为独立可执行程序exe (Matlab R2019a) 步骤1: 步骤2: 步骤3: 步骤4: 如果没有安装相对应版本的runtime,需要下载。可以选择在官网上下载后,然后再加载。 步骤4.1: 打开网页https://ww2.mathworks.cn/products/compiler/matlab-runtime.html 下载过程比较长,文件大小1.8G,下载...
继续访问
matlab怎么打包jar出现错误,将MATLAB程序打包为jar文件的时候遇到的问题
最近在做一个项目的时候,需要将MATLAB程序打包为一个jar文件,然后今天在做的时候,遇到了两个问题,折腾了一下午,总算解决了。记录下我的解决方案。问题一:在将MATLAB的.m文件打包成jar包时,出现提示:ERROR:An error occurred while shelling out to javadoc (Error code = 1). Unable to build execut...
继续访问
最新发布 用matlab打包程序时遇到的问题
我打包了一个车牌识别的程序。打包没有问题,但是脱离实验环境运行的时候出现了几个问题
继续访问
MATLAB如何进行封装打包成独立可执行exe.
本文提供matlab封装打包学习的基本思想和基本途经,并以一个例子来说明及解决封装中的五个问题,打包的两种方式。
继续访问
matlab打包jar 失败
matlab报错
继续访问
MATLAB R2019b利用Application Compiler打包文件无法识别runtime问题(亲测可行)
MATLAB R2019b利用Application Compiler打包文件无法识别runtime问题(亲测可行)问题描述 *** 作过程说明 问题描述 MATLAB2019版本后不再随安装包提供runtime,打包app需要使用时有两种安装方法:命令行运行compiler.runtime.download直接下载和手动下载。 运行命令下载是最简单的方式,但是受网络影响可能会下载失败,这时候就需要手动下载对应版本runtime。 *** 作过程 1.命令行输入compiler.runtime.download运行; 2
继续访问
matlab程序打包常见问题(二)
Q6: 出现excel表格文件的读取问题xlsread,xlswrite,errorA: 可能是excel的com加载项问题,取消所有勾选; Q7: 打包程序包含runtime模块安装过大,每个程序均这样打包,则体积过大? A: 可以采取统一的打包平台(如R2018A),出于不同matlab版本对应runtime模块不同,第一个任务(必做)中包含了runtime并正确被安装,后续其他任务打包时不需要包含runtime模块,可节省940M左右体积。 Q8: PsychPortAudio相关错误截图? A:
继续访问
matlab开发-SplashScreen
matlab开发-SplashScreen。在Matlab应用程序启动期间显示一个启动屏幕。
9 RBF、GRNN和PNN神经网络案例matlab参考程序.zip
RBF、GRNN和PNN神经网络案例matlab参考程序,包括详细的代码资料和讲解注释
matlab错误解决
1、MATLAB安装插入CD2时,无响应。 这个问题我在安装时可把我折腾坏了,我安装时用的是DAEMONtools这个虚拟光驱,当安装完CD1是, 大概是43%左右,更换CD2时安装无响应,针对与此,我想了一个办法,将CD1,CD2,CD3三个ISO文件分 别解压,然后把CD2,CD3的archives文件夹内的所有文件都复制到CD1内的文件夹archives内,其他诸 如help,jhelp,就不需要了,因为三张碟的这些东西都是一摸一样的,然后点击CD1内的setup就能一次。。。
关于matlab程序打包成exe可执行文件或者jar包的常见问题
近期由于项目需要,需要把之前的matlab程序打包成exe可执行文件或者jar包,真的是,心,力,交,瘁,我把近两天打包遇到的各种奇葩问题在这里总结一下: 代码中尽量避免出现中文,无论是注释也好还是程序里,因为真的,真的,很容易出问题 打包成exe文件时,可以选择下载matlab提供链接里官方的VC,也可以选择安装VS6.0++(至于如何安装,这又是另一番学问了,但是时间过得有点久,好多忘了) 打包
继续访问
发布项目时,出现deploy失败的情况
具体问题我刚刚忘记记了,不大记得了,大概是在给项目部署服务器的时候,选择manage deployment
介绍如下:要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件(即可脱离Matalab环境的执行程序),首先要安装和配置好Matlab Compiler,一般来说,在安装Matlab时就已经安装了相应版本的Matlab Compiler。只是不同版本的Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意。
在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:
Mbuild –setup
然后根据提示执行相应的 *** 作,使用者可根据自己计算机中现有编译器的情况正岁圆选择合适的编译器,如VC++ 6.0、VC++7.0、Bland C的编译器等,目前Matlab好象还不支持VC++8.0(我计算机安装的就是VC++2005,Matlab就无法识别)。当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab自带的Lcc编译器,其实这个编译器对大多数用户已经够用了(我就是选择的Matlab自带的Lcc编译器)。
配置好编译器后,自然就是对自己编写的M文件进行编译了。
将M文件编译为独立可执行文件的语法是:
>>mcc –m fun1.m fun2.m…..
其中fun1就是最后的可执行文件的名称。
另外,也可通过采用命令开关-o指定编译最终目标文件的名雀拿称,如 mcc –m main.m –o mrank_main,就是将编译后的文件指定为mrank_main.exe。
编译后的生成文件根据编译器的版本不同而不同。具体的可参阅相关资料。
如果要在没有安装matlab的计算机上执行编译后的程序,首先要将\MATLAB701\toolbox\compiler\deploy\win32中的MCRinstaller.exe安装到该计算机上(7.0以前的版本是mglinstaller.exe)。
其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,添加的方法是:
右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。
第三步是将编译生成的相相关文件拷贝到同一目录下(当然其他目录亦可)。
第四步是打开MS-dos *** 作窗口,进入到编译后的*.exe程序所在的目录,执行编译生成的*.exe文件即可。
需要说明的一个问题:
如果你的程序还附带有图片(如Version上的图标)、Web页面(如help文档),在编译的时候可能无法与M文件一起编译(因为我没有试过,也没有看到有关这方面的介绍),这没有关系,先在计算机上执行一次你编译后生成的独立可执行文件,这时在同一目录下会生成一个以你编译后的程序名+_mcr结尾的文件夹,这时,你只需要把与程序相关的图标和Web页面拷贝到该文件夹中的Matlabprogram下面的一个子目录(一般与用于编译的文件夹名相同)中即可。
其他的方法还有:(以下是网上搜索到的方法,没有试验过,有兴趣的朋友可以试一试)
方法一:在matlab下的workspace里打comtool,点file-open project将我们先前建好的comtest.cbl工程文件打开,再点component--package component就实现了打包,此时到comtest\distrib文件夹里看,生成的comtest.exe就是打包后的解压程序,双击它会解压出一些文件,再点击解压出举塌来的_install.bat就可以实现安装
方法二:如何将gui生成exe ?
已有gui.m文件和gui.fig文件
1 在matlab的command窗口中输入
mcc -B sgl GUI.m
2.将上步生成的文件包括*.m 文件和*.fig文件一起考到待运行的机器
此时仍需matlab所必需的动态连接库。
3. 将 <matlab path >/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上
4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在指定目录下解压缩出bin和toolbox两子目录,其中在bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。而toolbox目录则必须与应用程序同一目录。
5.大功告成。
方法三:运行mcc -B sgl GUI.m 生成exe文件,把GUI.exe文件和GUI.ctf文件拷贝到目标电脑上,然后在目标电脑上安装 MCRInstaller.exe ,安装完以后,我点击GUI.exe,它显示:this application has requested the Runtime to terminate it in an unusual way。这个可能是哪里出错了呢?
Solution:
The segmentation violation can be caused due to a corruption in either the profile of the current user or by corrupted Windows libraries. In order to determine which is the cause, try logging in as a different username and run MATLAB.
If you are able to successfully launch MATLAB under a different username:
1. Log onto the machine, as the user that is receiving the error.
2. On your desktop, click on Start >Run
3. Type "regedit" in the Open text field and click OK, this will bring up the Registry Editor
4. In the Registry Editor expand the following folders: HKEY_CURRENT_USER >Software >MathWorks >Matlab
5. Under the MATLAB key, find the folder having the same name as the version number of the MATLAB that is crashingand delete it. This Registry key will be regenerated the next time MATLAB is started.
Click on the link below to view an image of the Registry Editor, which shows how to delete a registry key for MATLAB 6.5 (R13).
After following these steps, you should be able to launch MATLAB successfully.
If MATLAB crashes regardless of the user who is logged in, the crash may be caused by corrupted system libraries. For Windows NT, 2000, or XP, some customers have found that reinstalling Windows Service Packs have resolved the issue
matlab调用别的文件夹函数无法打包成exe可以重新设置目标和存储路径完成打包。1、打开编译工具,在Matlab命令窗口,输入deploytool函数。
2、设置编译信息,GuI程序信息、软件信息、冲判早GUI程序的支持包,设置目标,exe文件打包后的存储路径散雀,用户得到exe文件后安装需要下单冲明Matlabruntime,随后点击Pacage执行打包过程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)