matlab中的多个matlab m文件生成exe转化成exe文件,我用过mcc但

M文件转成EXE文件的问题……【matlab吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:176,204贴子:
M文件转成EXE文件的问题……收藏
有几个M文件要转成同一个EXE文件,怎么弄呢?
百强板材_别墅豪宅健康板_中国板材十大品牌!板材十大品牌
mcc -m file1.m file2.m ...
登录百度帐号推荐应用51matlab中的多个.m文件转化成exe文件
上亿文档资料,等你来发现
51matlab中的多个.m文件转化成exe文件
方法一:;已有gui.m文件和gui.fig文件;1在matlab的command窗口中输入;mcc-BsglGUI.m;2.将上步生成的文件包括*m文件和*.fig文件;此时仍需matlab所必需的动态连接库;3.将&matlabpath&/ex;4.在机器上先运行mglinstallar.ex;其中在bin\win32目录下就是数学库和图形库
已有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目录则必须与应用程序同一目录。
matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布呢,matlab也提供了这样的工具。
1. 转化为c/c++程序并编译为.exe
先验证mcc是否可用,用matlab中的example验证即可
建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装)
由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure 编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等
程序发布需要.exe、bin\、.fig
2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件
前两者已经在\matlab\extern\lib\win32mglinstaller.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径
另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同
3. 在确保.exe程序可以运行的情况下 可以用setup factory打包发布 以下通过注册表自动添加path路径
%--------------------------------------------------------------------------------------
Screen.Next(); -- 进入下一个屏幕
resultDialog = Dialog.Message(&注意&, &向环境变量中加入matlab数学库及图象库的安装路径?&, MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1); if (resultDialog == IDYES) then --加入安装路径
strPath = Registry.GetValue(HKEY_CURRENT_USER, &Environment&, &path&, true);
if strPath ~= && then
strPath = String.Concat(strPath, &;&);
strPathToAdd = SessionVar.Expand(&%AppFolder%&);
strPathToAdd =
String.Concat(strPathToAdd,&file://MATLAB6p5//bin//win32&);
-- 如果路径中无该位置,则加入
if String.Find(strPath,strPathToAdd) == -1 then
strPath = String.Concat(strPath, strPathToAdd);
Registry.SetValue(HKEY_CURRENT_USER, &Environment&, &path&, strPath, REG_SZ);
%--------------------------------------------------------------------------------------
在网上搜了一个方法,还没有用过, 贴在这里仅供参考:
一、 完全可以,而且生成的.exe文件可以在没有安装matlab的机器上使用,方法吗---
首先,使用mcc编译得到.exe文件,具体参数见帮助文件;
其次,将.exe文件及相关资源文件以及一个称为mglinstaller.exe的软件包一起拷到别的机器上,运行mglinstaller.exe,并添加环境变量path,即可执行.exe文件
第三,在MATLAB环境,执行命令
mcc -m -B sgl file.m
或者 mcc -p -B sglcpp file.m
请键入help mcc看帮助。
mcc是在“command windows” 用的吗?
只要“mglinstaller.exe”,与.exe文件及相关资源文件就可以了吗. 还有“添加环境变量path”是path到.exe文件的环境中是吧?
二、 在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.大功告成。
02:52编译环境:matlab 2007b,winxp
1.设置编译器:
在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:
Mbuild Csetup, 按提示选择matlab自带编译器LCC。
2.将脚本编译为可执行文件:
如项目文件包含:gui.m, gui.gif, fun1.m。
在 此路径下命令行输入:mcc Cm gui.m,生 成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c,gui_mcc_component_data.c,gui.exe。 其中:gui.ctf,gui.exe为脱离matlab环境运行必需的文件。
3.在未安装matlab的机器上运行可执行程序。
将R22007b\toolbox\compiler\deploy\win32中的MCRinstaller.exe安装到该计算机上,将生成可执行程序脱离matlab运行所需的函数库。
将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。运行gui.exe将生成gui_mcr文件夹,包含程序运行所需的库。至此完成。
4.去除独立可执行程序运行时的“DOS黑窗口”。
以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将其去除。
matlba命令行输入:
cd(prefdir)
edit compopts.bat
此时compopts.bat打开,在文件最后添加:
set LINKFLAGS=%LINKFLAGS% -subsystem windows
如果程序比较复杂,易出现异常,则不建议去除这个dos窗口以便调试。
另外,这个办法是适用于你用的编译器为LCC,如果是其他的,那么所加语句有所不同
Microsoft Visual C/C++:
set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup Borland:
set LINKFLAGS=%LINKFLAGS% -aa
5.遇到某些函数不能使用的问题。
我的程序中用到vpa函数,运行gui.exe出现:undefined method or function 'vpa' for input argument type of 'double'错误提示。而gui.m脚本在matlab环境可以运行。
原因:百度搜到的信息为:matlab不支持符号工具箱的编译。只好避开使用此函数
三亿文库包含各类专业文献、专业论文、中学教育、生活休闲娱乐、高等教育、各类资格考试、51matlab中的多个.m文件转化成exe文件等内容。 
 一、生成独立可执行的程序(exe 文件)步骤 1、安装编译器。可有多种选择,...filaname 为要转成 exe 的 m 文件; 4 、安装 &matlab path&\toolbox\compiler...  前提是:已有gui.m文件和gui.fig文件 1.在matlab的command窗口中输入 mcc -B sgl gui.m (gui替换成自己的)MATLAB 中的 GUI 生成可执行文件 EXE 的简易方法 ...  将Matlab 的 m 文件转为 C/C++语言 ( 亲手试验)系统环境:①matlabR2014b (注意:需要包含 MATLAB Coder 组件,可使用 ver 命令,检测组件列表中是否...  二、 原理: 当对于某些复杂而且反复操作的问题,我们可以编成可存储的程序文件(M 文件) ,再让 Matlab 执行程序文件,这种工作模式称为程序文件模式。当运行程序后,...  Matlab将GUI转化为exe文件,并且进行发布_计算机软件及应用_IT/计算机_专业资料。...matlab中的多个.m文件转... 4页 1下载券 Matlab GUI转EXE(合订) 23页 1...  matlab 中 m 文件与 fig 文件生成 exe 方法一: 已有 gui.m 文件和 gui....帮助文件; 其次,将.exe 文件及相关资源文件以及一个称为 mglinstaller.exe 的...  重复控制Matlab的M文件_计算机软件及应用_IT/计算机_专业资料。重复控制Matlab的M文件%PID Control with Repetitive Control co ts=0...  Matlab如何调用其他m文件中的函数_计算机软件及应用_IT/计算机_专业资料。我们若可以根据需要建立自己的函数文件,他们能够像库函数一样方便地调用,从而极 大地扩展 M...  3. 对矩阵元素使用下标或者索引操作 在 MATLAB 中,矩阵元素的引用可用两个下标...C-MEX 是将 M 文件 通过 MATLAB 的编译器转换为可执行文件,是按照 MEX 技术...查看: 7855|回复: 7|关注: 0
m文件转化为c文件
<h1 style="color:# 麦片财富积分
新手, 积分 9, 距离下一级还需 41 积分
关注者: 1
大家好,我在将m文件转化为c文件中遇到点问题。看论坛里的资料后发现可以用mcc -m filename这句达到目的。
这里我有点疑惑这里的m文件是专指function类的m文件还是所有的m文件都可以。
我在将function类的m文件转化为c文件时只出现了exe这个文件,打开后没有任何的显示。在这里我试用的是stockwell的S变换的m文件(stockwell的S变换的m文件和c文件都有,我是先拿这个来试验能否成功完成转换),mcc -m st这个命令运行之后,只出现st.exe.
请问这是什么原因,是我对这句命令的解读有误?
ps 如何一个m文件里还调用了多个自己另外编写的函数,这里mcc -m filename1 filename2 filename3这样使用是否正确?
MATLAB 基础讨论版块优秀回答者
<h1 style="color:#3 麦片财富积分
关注者: 18
(1)mcc -m选项在2010之后的版本里已经不生成C、C++接口文件了,只生成可执行文件
(2)可以用codegen或coder将M语言转换为C/C++代码,单限制比较多,编写M文件时有很多注意事项
(3)mcc -m 只转换函数文件,脚本文件请自行转换为不带参数的函数文件后再调用mcc -m。
关注新浪微博:书生一文; 微信: 获取MATLAB混编,文件与数据接口,并行技术图书答疑和最新资料
MATLAB 基础讨论版块优秀回答者
<h1 style="color:#3 麦片财富积分
关注者: 18
(1)mcc -m选项在2010之后的版本里已经不生成C、C++接口文件了,只生成可执行文件
(2)可以用codegen或coder将M语言转换为C/C++代码,单限制比较多,编写M文件时有很多注意事项
(3)mcc -m 只转换函数文件,脚本文件请自行转换为不带参数的函数文件后再调用mcc -m。
关注新浪微博:书生一文; 微信: 获取MATLAB混编,文件与数据接口,并行技术图书答疑和最新资料
<h1 style="color:# 麦片财富积分
关注者: 1
(1)mcc -m选项在2010之后的版本里已经不生成C、C++接口文件了,只生成可执行文件
(2)可以用codegen或co ...
好的,谢谢你的解答。
1.如果我现在换回7.0的是不是可以用mcc -m得到c文件,但是带参数的脚本文件还是得转换成无参数的才能用?
2.我用coder试了下,脚本文件里总共5条程序,转换成c后产生了10几个文件,包括c文件和h文件。matlab转换成c的都会产生这么多的?
3.将m文件用马mcc -m产生可执行文件这里,比如我将stockwell的st.m(带参数)转换后生成了st.exe,这里打开exe文件后没有任何反应,是因为原m文件需要输入参数的原因吗?如果脚本文件是不自带参数的话生成exe文件运行后才有相应的反应?
MATLAB 基础讨论版块优秀回答者
<h1 style="color:#3 麦片财富积分
关注者: 18
本帖最后由 刘维 于
14:01 编辑
好的,谢谢你的解答。
1.如果我现在换回7.0的是不是可以用mcc -m得到c文件,但是带参数的脚本文件还是得 ...
1 可以,但是是只有c/c++接口文件
2 文件多没关系,抓住主要的就行了,一般和你的m文件同名
3 带参数也可以 在命令行中输入参数即可比如 function [out] = ex3(in)
mcc -m ex3.m
关注新浪微博:书生一文; 微信: 获取MATLAB混编,文件与数据接口,并行技术图书答疑和最新资料
<h1 style="color:# 麦片财富积分
关注者: 1
1 可以,但是是只有c/c++接口文件
2 文件多没关系,抓住主要的就行了,一般和你的m文件同名
3 带参数也可 ...
你好,非常抱歉再继续打扰你。
1. st.m 需要输入的参数是一个向量,我用 !st [1,,3,2] 这样时发现是错误的,我试用了(1,2,3)以及1,2,3等方式 ,错误提示:Undefined function 'fft' for input arguments of type 'char'.
(全部错误提醒信息:
& & Minfreq = 0
& & Maxfreq = 4
& & Sampling Rate (time& &domain) = 1
& & Sampling Rate (freq.&&domain) = 1
& & The length of the timeseries is 9 points
& & The number of frequency voices is 5
& & Undefined function 'fft' for input arguments of type 'char'.
& & Error in st&strans (line 214)
& & Error in st (line 135)
& & MATLAB:UndefinedFunction )
这里是不是我输入的其实是个字符串类型的?那要输入向量应该怎么用?
2. c或者java可不可以直接调用m文件而不需要将m文件转换成c或者java语言?
3. 用coder可不可以把一个主m文件(其中它调用了多个自己编译的m文件)直接转换成c文件?
<h1 style="color:# 麦片财富积分
关注者: 1
楼主,你有试验过用st的c程序吗?这个st.c是拿来调用的还是直接运行?
<h1 style="color:# 麦片财富积分
我的问题与你类似,C调用MATLABA函数,他嘛的还没有搞定
站长推荐 /2
机器视觉和人工智能在医疗设备中的应用及实现
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区查看: 7567|回复: 22|关注: 0
MATLAB2014a,GUI的m文件生成exe文件mcc失败
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
关注者: 1
&&&mkdir dir=&C:\Users\Vermouth\Documents\MATLAB\fjj\for_redistribution& /&
&&&mkdir dir=&C:\Users\Vermouth\Documents\MATLAB\fjj\for_testing& /&
mcc -C -o fjj -W WinMain:fjj -T link:exe -d C:\Users\Vermouth\Documents\MATLAB\fjj\for_testing -v C:\Users\Vermouth\Documents\MATLAB\fjj.m
Test checkout of feature 'Compiler' failed.
mcc 失败。
--------------------------------------------------------------------------------
开始以为是MATLAB破解有问题,又卸载重装了一遍(换了一个破解文件),还是编译不成功,
请问是哪里出了问题?(有必要再换一个镜像文件重装么?)
另外,想问一下,“打包应用程序”与“应用程序编译器”有什么区别?& & 是前者不能独立运行么?
新手求指点~~
<h1 style="color:# 麦片财富积分
你的问题解决了没有?我的问题跟你的一样。
论坛优秀回答者
<h1 style="color:#66 麦片财富积分
关注者: 250
你的问题解决了没有?我的问题跟你的一样。
deploytool用这个函数,这个工具是新版本中生成EXE程序的
<h1 style="color:# 麦片财富积分
请问怎么用啊?唉,小白一个。
<h1 style="color:# 麦片财富积分
deploytool用这个函数,这个工具是新版本中生成EXE程序的
我的deploytool也不能用,出现:Error during packaging. Open log file这个问题
<h1 style="color:# 麦片财富积分
<h1 style="color:# 麦片财富积分
确实是破解问题,用一个叫Matlab Patcher的,重新破解,主要是有一个Combiner的文件需要破解
<h1 style="color:# 麦片财富积分
请问楼主解决了么?我现在也急需将GUI程序打包发布
<h1 style="color:# 麦片财富积分
deploytool用这个函数,这个工具是新版本中生成EXE程序的
这个函数和工具箱不是一个东西么
<h1 style="color:# 麦片财富积分
&&有没有大神啊& &&&,我也不晓得&&搞了一晚上了
站长推荐 /2
机器视觉和人工智能在医疗设备中的应用及实现
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区

我要回帖

更多关于 matlab m生成exe 的文章

 

随机推荐