li_cookie 发表于 2006-9-15 16:29

如何将多个m文件编译成可用exe

最近做了一个gui的小程序,有好几个m文件,而且不全是函数文件

单个函数文件编译成exe文件我已实现,但是调用别的文件是会报错
有没有解决方法呢?

望赐教

希望大家多交流~:@D

心灯 发表于 2006-9-15 17:26

不能回答你的问题,问个问题:
单个m文件的怎么编译成exe文件?编译成exe文件后有多大好处,除了可以脱离matlab环境运行外? 没有这方面的体验。

eight 发表于 2006-9-15 18:24

原帖由 心灯 于 2006-9-15 17:26 发表
不能回答你的问题,问个问题:
单个m文件的怎么编译成exe文件?编译成exe文件后有多大好处,除了可以脱离matlab环境运行外? 没有这方面的体验。


这个我也不懂,想问问楼主,呵呵。另外,我使用!filename.m后没有发现有filename.exe生成,不知道是何缘故?

心灯 发表于 2006-9-15 18:37

原帖由 eight 于 2006-9-15 18:24 发表



这个我也不懂,想问问楼主,呵呵。另外,我使用!filename.m后没有发现有filename.exe生成,不知道是何缘故?

搜索了一下紫丁香matlab版,转载如下,搂主应该也是这么做的吧?



发信人: friendchj (冬春夏秋), 信区: Matlab
标题: 把matlab中的gui转化为.exe的问题
发信站: BBS 哈工大紫丁香站 (Wed Jul 12 11:25:21 2006)

[方法来自研学论坛-matlab/maple/mathematica版,我已试过,可行]
运行
mcc -B sgl GUI.m
生成exe文件
运行/extern/lib/wen32/mglinstallar.exe解压出matlab数学库和图形库
最后将生成的exe文件放到解压出来的bin\win32文件夹里,之后即使把文件拷到另一台计
算机上,exe文件也能运行。

[ 本帖最后由 心灯 于 2006-9-15 18:38 编辑 ]

eight 发表于 2006-9-15 19:29

原帖由 心灯 于 2006-9-15 18:37 发表


搜索了一下紫丁香matlab版,转载如下,搂主应该也是这么做的吧?



发信人: friendchj (冬春夏秋), 信区: Matlab
标题: 把matlab中的gui转化为.exe的问题
发信站: BBS 哈工大紫丁香站 (Wed Jul 12 1 ...

如果是7.0以上版本,则不用那么复杂,先运行mcc -B sgl GUI.m 生成exe文件,把GUI.exe文件和GUI.ctf文件拷贝到目标电脑上,然后在目标电脑上安装 MCRInstaller.exe 就可以了,MCRInstaller.exe在源电脑以下地方可以找到:<matlab path>\toolbox\compiler\deploy\win32\MCRInstaller.exe

xinyuxf 发表于 2006-9-15 20:04

那如果在没有安装matlab的电脑上运行生成的exe文件的话,会不会像VB等生成的exe那样需要一些dll等文件阿?

eight 发表于 2006-9-15 20:07

原帖由 xinyuxf 于 2006-9-15 20:04 发表
那如果在没有安装matlab的电脑上运行生成的exe文件的话,会不会像VB等生成的exe那样需要一些dll等文件阿?


我们讨论的就是脱离matlab的运行方法啊!当然不用安装matlab

xinyuxf 发表于 2006-9-15 21:03

奥,好像明白了,运行exe之前还是需要别的东西的,比如安装 MCRInstaller.exe是吧?

心灯 发表于 2006-9-15 21:14

哦,对了,这个采用了mcc函数,是不是把程序运行速度给提高上去了?如果是的话,可以考虑这么运行程序代替运行m文件哦

eight 发表于 2006-9-15 21:21

原帖由 心灯 于 2006-9-15 21:14 发表
哦,对了,这个采用了mcc函数,是不是把程序运行速度给提高上去了?如果是的话,可以考虑这么运行程序代替运行m文件哦


应该不行,我刚才试了一下,不过两台电脑配置不同,呵呵

bainhome 发表于 2006-9-15 21:55

哦,对了,这个采用了mcc函数,是不是把程序运行速度给提高上去了?如果是的话,可以考虑这么运行程序代替运行m文件哦
不会提高运行速度,MathWorks提供mcc,貌似是为了easy for deployment of matlab applications, but not for performance.
那如果在没有安装matlab的电脑上运行生成的exe文件的话,会不会像VB等生成的exe那样需要一些dll等文件阿?
用MCRINSTALLER打包做好了
http://www.simwe.com/forum/thread-73018-1-1.html
gui的打包以前有一些讨论,自己一直感兴趣很想试试,不过目前只有一台电脑,等过一段时间买了本本之后也要研究一下

toes 发表于 2006-9-15 22:51

我以前试了一下,生成exe后速度没有什么明显提高啊。当时很是失望。
后来别人用混编好像提高了我源程序的速度。

eight 发表于 2006-9-16 10:22

原帖由 toes 于 2006-9-15 22:51 发表
我以前试了一下,生成exe后速度没有什么明显提高啊。当时很是失望。
后来别人用混编好像提高了我源程序的速度。

正解。exe只是为了可以打包在没有安装matlab的电脑上面运行,并非解决速度问题。混编才是提高速度的王道

hjp91 发表于 2006-9-16 12:17

[size=4]原帖由 心灯 于 2006-9-15 18:37 发表


搜索了一下紫丁香matlab版,转载如下,搂主应该也是这么做的吧?



发信人: friendchj (冬春夏秋), 信区: Matlab
标题: 把matlab中的gui转化为.exe的问题
发信站: BBS 哈工大紫丁香站 (Wed Jul 12 1 ...

我按你说的做,不行啊,总是出错。

错误如下:
Warning: No matching builtin function available for D:\MATLAB7\toolbox\simulink\simulink\set_param.bi



Select a compiler:
Lcc C version 2.4 in D:\MATLAB7\sys\lcc

None

Compiler:

mbuild: No compiler selected. No action taken.


D:\MATLAB7\BIN\WIN32\MEX.PL: Error: No compiler options file could be found to compile source code. Please run "mbuild -setup" to rectify.

??? Error using ==> mbuild
Unable to complete successfully

??? Error: An error occurred while shelling out to mbuild (error code = 1).
Unable to build executable (specify the -v option for more information).

hjp91 发表于 2006-9-16 12:20

eight(八) ,你好,我按你说的做,总是不行啊。我的QQ:360533393 能单独向你请教吗?
页: [1] 2
查看完整版本: 如何将多个m文件编译成可用exe